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);
읽기와 쓰기를 일괄 처리하여 두 번째 코드 조각은 서비스 호출 횟수를 크게 줄이고 처리 시간을 향상시킵니다.
위 내용은 내 Google Apps Script가 너무 느린 이유는 무엇이며 'getValues' 및 'setValues' 사용을 최적화하려면 어떻게 해야 하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!