Google Apps Script 突发性能骤降问题求助
Google Apps Script 性能异常问题求助
我在使用Google Apps Script处理Google Sheets时遇到了无法解决的性能问题,具体情况如下:
- 表格包含3个标签页,每个标签页的单行中存储着项目名称列表
- 脚本核心逻辑:解析每个标签页的项目列表,针对每个项目在追踪表中做检查(跨标签页):
- 若项目已存在,对应计数器加1
- 若项目未存在,将其添加到追踪表并初始化相关计数器
- 用多维数组
items_found存储核心数据:items_found[0]存项目名称,后续索引对应各标签页的计数数组
算法逻辑简单,总处理数据量约10000行,理论上几秒就能完成,但实际性能表现极差:我在脚本中添加了每100行处理时长的追踪,发现处理到某一节点后,每100行的处理时间从约500ms骤升至15秒以上,性能下降30倍,且找不到明显诱因。
问题集中在以下循环代码中:
while (spreadsheet.getSheetByName(TAB_NAMES[tab_being_processed-1]).getRange(row_being_processed,NAME_COLUMN).getValue() != '')
小数据量时每100行处理约500ms,但当3个标签页分别有9000、9000、2000行时,性能突然恶化——比如处理Tab3的第500行时,耗时达到了16151ms。
内容的提问来源于stack exchange,提问作者Dominique Galland
相关产品推荐
相关产品推荐

