Rumah >hujung hadapan web >tutorial js >Mengapa Skrip Google Apps saya begitu perlahan dan bagaimana saya boleh mengoptimumkan penggunaan `getValues` dan `setValues`?
Masa Pemprosesan yang Lama Akibat Penggunaan getValues dan setValues yang Berlebihan
Isu:
Isu kod mengalami penggunaan berlebihan kaedah getValues dan setValues, yang boleh memberi kesan ketara kepada masa pemprosesan, terutamanya untuk set data yang lebih besar.
Teknik Pengoptimuman:
Minimumkan Panggilan Perkhidmatan:
Caching Pandangan Ke Hadapan:
Minimumkan Operasi Baca/Tulis:
Elakkan Baca/Tulis Bergantian:
Gunakan Tatasusunan:
Contoh:
Pertimbangkan coretan kod berikut:
// 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);
Dengan membanding baca dan tulis operasi, coretan kod kedua mengurangkan dengan ketara bilangan panggilan ke perkhidmatan dan meningkatkan masa pemprosesan.
Atas ialah kandungan terperinci Mengapa Skrip Google Apps saya begitu perlahan dan bagaimana saya boleh mengoptimumkan penggunaan `getValues` dan `setValues`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!