gpt4 book ai didi

google-apps-script - 超过最大执行时间的大数据集

转载 作者:行者123 更新时间:2023-12-02 15:50:14 25 4
gpt4 key购买 nike

我有一个脚本,它将电子表格的内容加载到 scriptDB 中,但电子表格大约有 15,000 行、9 列,并且不断给出“超出最大执行时间”错误。

我正在使用 Google 文档中给出的函数来加载数据:

function loadDatabaseFromSheet() {
var spreadsheet = SpreadsheetApp.openById(SPREADSHEET_KEY);
var sheet = spreadsheet.getActiveSheet();
var columns = spreadsheet.getLastColumn();
var data = sheet.getDataRange().getValues();
var keys = data[0];
var db = ScriptDb.getMyDb();
for (var row = 1; row < data.length; row++) {
var rowData = data[row];
var item = {};
for (var column = 0; column < keys.length; column++) {
item[keys[column]] = rowData[column];
}
db.save(item);
}
}

有什么方法可以加快速度,还是我必须将其分成几千 block ?

最佳答案

调用db.save(item) 15000次是导致缓慢的原因。相反,使用 bulk operations如果您要保存那么多数据。

  var db = ScriptDb.getMyDb();
var items = [];
for (var row = 1; row < data.length; row++) {
var rowData = data[row];
var item = {};
for (var column = 0; column < keys.length; column++) {
item[keys[column]] = rowData[column];
}
items.push(item);
}
db.saveBatch(items,false);

最后调用一次保存操作可以节省所有往返时间,因此这应该会大大加快代码速度,并在超过最大执行时间之前完成。

关于google-apps-script - 超过最大执行时间的大数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14811110/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com