ホームページ >ウェブフロントエンド >jsチュートリアル >Google Apps Script が非常に遅いのはなぜですか? `getValues` と `setValues` の使用を最適化するにはどうすればよいですか?
getValues と setValues の過剰な使用による長い処理時間
問題:
コードでは getValues メソッドと setValues メソッドの過剰な使用が問題となり、処理に重大な影響を与える可能性があります。
最適化テクニック:
サービスコールの最小化:
先読みキャッシュ:
読み取り/書き込み操作を最小限に抑える:
交互の読み取り/書き込みを避ける:
配列の使用:
例:
次のコード スニペットを考えてみましょう:
// Slow version: Alternating read and write operations const sourceRange = SpreadsheetApp.getActiveSheet().getRange("A1:D2"); const targetRange = sourceRange.offset(2, 0); for (let i = 0; i < sourceRange.getNumRows(); i++) { for (let j = 0; j < sourceRange.getNumColumns(); j++) { const value = sourceRange.getCell(i + 1, j + 1).getValue(); targetRange.getCell(i + 1, j + 1).setValue(value); } } // Fast version: Batch read and write operations const sourceValues = sourceRange.getValues(); targetRange.setValues(sourceValues);
読み取りおよび書き込み操作をバッチ処理することで、2 番目のコード スニペットがサービスへの呼び出し数が大幅に削減され、処理時間が短縮されます。
以上がGoogle Apps Script が非常に遅いのはなぜですか? `getValues` と `setValues` の使用を最適化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。