由于过度使用 getValues 和 setValues 导致处理时间较长
问题:
代码因过度使用 getValues 和 setValues 方法而受到影响,这可能会严重影响处理时间,特别是对于较大的数据集。
优化技术:
最小化服务调用:
前瞻性缓存:
最小化读/写操作:
避免交替读/写:
使用数组:
示例:
考虑以下代码片段:
// Slow version: Alternating read and write operations const sourceRange = SpreadsheetApp.getActiveSheet().getRange("A1:D2"); const targetRange = sourceRange.offset(2, 0); for (let i = 0; i < sourceRange.getNumRows(); i++) { for (let j = 0; j < sourceRange.getNumColumns(); j++) { const value = sourceRange.getCell(i + 1, j + 1).getValue(); targetRange.getCell(i + 1, j + 1).setValue(value); } } // Fast version: Batch read and write operations const sourceValues = sourceRange.getValues(); targetRange.setValues(sourceValues);
通过批量读取和写入操作,第二个代码片段显着减少了对服务的调用次数并缩短了处理时间。
以上是为什么我的 Google Apps 脚本这么慢?如何优化'getValues”和'setValues”的使用?的详细内容。更多信息请关注PHP中文网其他相关文章!