最佳化Google Apps 腳本中的處理時間
問題:
問題:Google中的處理時間過長應用程式腳本,特別是由於重複使用getValue 和setValue方法來取得範圍
描述:要減少對Google 伺服器的呼叫次數並儘量減少讀取和寫入操作的交替,請考慮使用以下最佳化:
移動可在Google Apps 腳本本身內執行的操作,以避免昂貴的網路請求。
透過最小化數量來利用 Google Apps腳本的內建快取
避免交替讀取和寫入操作,因為這會影響外觀的有效性提前緩存。
使用單一指令將資料讀入陣列並對陣列執行操作,然後使用另一個指令將資料寫回工作表。
範例:以下是如何最佳化腳本的範例提供:
for (row = 0; row < lastRow; row++) { range1 = s.getRange(row + 1, 1); cellValue = range1.getValue(); if (dash === '-' && offset3) { s.getRange(row + 1, 1, lastRow).offset(3, 0).moveTo(range1.offset(4, 0)); }; }
原始慢速腳本:
const lastRow = s.getRange("A:A").getLastRow(); const range1 = s.getRange(`A1:A${lastRow}`); let cellValues = range1.getValues(); cellValues.forEach((value, index) => { if (value.startsWith("-") && cellValues[index + 3]) { range1.getRange(index + 1, 1, lastRow).moveTo(range1.offset(index + 4, 0)); } });原始慢速腳本:優化的快速腳本:透過實現這些最佳化,該腳本顯著減少了對服務的呼叫次數並簡化了讀取/寫入操作,從而加快了處理速度次。
以上是如何優化 Google Apps 腳本處理時間以避免速度變慢?的詳細內容。更多資訊請關注PHP中文網其他相關文章!