【发布时间】:2016-12-23 18:38:28
【问题描述】:
我正在通过存储过程将数据从 google 表格复制到 mysql 表中。这张表有大约 3000 多条记录。在复制了大约 2000 条记录后,我达到了 6 分钟的执行时间限制。有没有办法解决这个 6 分钟的执行时间限制。
function myfunction() {
var colA;
var colB;
var colC;
var colD;
var colE;
var mysqldb = Jdbc.getConnection("jdbc:mysql;dbipaddress","user","pa$$word");
var sql = mysqldb.createStatement();
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('sheet1');
var data = sheet.getDataRange().getValues();
for (var i = 1; i < data.length; i++) {
colA = data[i][0];
colB = data[i][1];
colC = data[i][2];
colD = data[i][3];
colE = data[i][4];
var query = "{call [dbo].[sp_copygsheets](?,?,?,?,?)}";
sql = mysqldb.prepareCall(query);
sql.setString(1, colA);
sql.setString(2, colB);
sql.setString(3, colC);
sql.setString(4, colD);
sql.setString(5, colE);
sql.executeUpdate();
}
sql.close();
mysqldb.close();
}
【问题讨论】:
-
来自 Google Apps 脚本 JDBC 页面:
Batching is vital for bulk operations。查看此页面上的批处理示例:developers.google.com/apps-script/guides/jdbc
标签: mysql google-apps-script jdbc