Скорость скрипта - служба использует слишком много компьютерного времени в течение одного дня - PullRequest
0 голосов
/ 27 мая 2020

У меня есть сценарий, который извлекает данные из базы данных mysql. Однако мне нужно сократить время выполнения скрипта.

Может ли кто-нибудь помочь со скриптом ниже?

function myFunction() {

  var conn = Jdbc.getConnection('jdbc:mysql://XXX', 'XXX', 'XXX'); 
  var stmt = conn.createStatement();
  var start = new Date(); // Get script starting time

  var rs = stmt.executeQuery('SELECT custom_attribute_value_id,entity_id,attribute_value FROM custom_attribute_values '); // It sets the limit of the maximum nuber of rows in a ResultSet object


  var doc = SpreadsheetApp.getActiveSpreadsheet(); // Returns the currently active spreadsheet
  doc.setActiveSheet(doc.getSheetByName("XXX"));
  var cell = doc.getRange('a1');
  var row = 0;
  var getCount = rs.getMetaData().getColumnCount(); // Mysql table column name count.

  for (var i = 0; i < getCount; i++){  
     cell.offset(row, i).setValue(rs.getMetaData().getColumnName(i+1)); // Mysql table column name will be fetch and added in spreadsheet.
  }  

  var row = 1; 
  while (rs.next()) {
    for (var col = 0; col < rs.getMetaData().getColumnCount(); col++) { 
      cell.offset(row, col).setValue(rs.getString(col + 1)); // Mysql table column data will be fetch and added in spreadsheet.
    }
    row++;
  }

  rs.close();
  stmt.close();
  conn.close();
  var end = new Date(); // Get script ending time
  Logger.log('Time elapsed: ' + (end.getTime() - start.getTime())); // To generate script log. To view log click on View -> Logs.

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