Maison >interface Web >js tutoriel >Pourquoi mon script Google Apps est-il si lent et comment puis-je optimiser l'utilisation de « getValues » et « setValues » ?
Temps de traitement long en raison d'une utilisation excessive de getValues et setValues
Problème :
Le le code souffre d'une utilisation excessive des méthodes getValues et setValues, ce qui peut avoir un impact significatif sur le temps de traitement, en particulier pour ensembles de données plus volumineux.
Techniques d'optimisation :
Réduire les appels de service :
Mise en cache anticipée :
Réduire la lecture/écriture Opérations :
Évitez les lectures/écritures alternées :
Utilisez des tableaux :
Exemple :
Considérez l'extrait de code suivant :
// 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);
En regroupant les opérations de lecture et d'écriture, le deuxième code L'extrait réduit considérablement le nombre d'appels aux services et améliore le temps de traitement.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!