我有一个谷歌应用程序脚本,它采用电子表格,并循环遍历行,逐列获取值并生成RSS源。
我有一些性能问题,这是由于我认为的foor循环,并查询了许多值。
有关如何优化此问题的任何见解?谢谢!
答案 0 :(得分:1)
一遍又一遍地调用getCell
和setValue
可能会减慢它的速度。每次调用setValue()
时,都会发出一个缓慢的新IO调用。最好一次性加载和保存您的数据。
例如,从开头的范围加载所有值:
var values = range.getValues();
然后迭代生成二维数组(而不是getCell(i, 2)
使用values[i - 1][1]
)。
当您需要更改值时使用:
values[i][j] = newValue;
然后当你完成电话时:
range.setValues(values);
这样,您可以将IO调用最小化为两个:一个在开始时加载,另一个在最后保存更改。