Увеличьте время выполнения импорта данных из таблиц Google в таблицу MySQL - PullRequest
0 голосов
/ 17 февраля 2020

У меня есть один большой импорт листа google, над которым я работаю, разбив его на более мелкие куски для упрощения обработки, и это работало нормально до недавнего времени, когда количество записей значительно выросло, отбрасывая мой сценарий. Лист содержит около 40 нечетных столбцов, и каждый выполняемый пакет ограничен 500 записями, а время обработки этих записей составляет ~ 4 минуты. Я изучаю различные варианты, где я мог бы сократить время выполнения. Соединение закрывается, если выполнение будет выполняться даже более часа. Моя идея состоит в том, чтобы оптимизировать этот код, чтобы он не занимал слишком много времени для выполнения каждого пакета. Есть ли более быстрый способ приблизиться к этой массовой загрузке в jdb c.

var address = 'database_IP_address';
var rootPwd = 'root_password';
var user = 'user_name';
var userPwd = 'user_password';
var db = 'database_name';

var root = 'root';
var instanceUrl = 'jdbc:mysql://' + address;
var dbUrl = instanceUrl + '/' + db;

function googleSheetsToMySQL() {   

  var RecId;
  var Code;
  var ProductDescription;
  var Price;

  var dbconnection = Jdbc.getConnection(dbUrl, root, rootPwd);
  var statement = dbconnection.createStatement();
  var googlesheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('product'); 
  var data = googlesheet.getDataRange().getValues();  

  for (var i = 1; i < data.length; i++) {
  RecId = data[i][0];
  Code = data[i][1];
  ProductDescription = data[i][2];
  Price = data[i][3];

  var sql = "{call [dbo].[sp_googlesheetstotable](?,?,?,?)}";  
  statement = dbconnection.prepareCall(sql);  
  statement.setString(1, RecId);
  statement.setString(2, Code);
  statement.setString(3, ProductDescription);
  statement.setString(4, Price);
  statement.executeUpdate();  
  }

  statement.close();
  dbconnection.close();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...