나는 데이터베이스를 열고 닫는 메소드의 실행 시간을 측정 할뿐만 아니라 쿼리와 삽입을 수행합니다. 이 네 가지 작업 각각에 대해 나는 기본적으로 같은 관련 문 실행 전후에 시간을 얻을 :안드로이드 데이터베이스 작업에 대한 실행 시간의 변화
for(int i = 0; i < 500; i++) {
startTime = System.nanoTime();
long insertResult = db.insert(tableName, null, contentValues);
endTime = System.nanoTime();
if(insertResult > -1) {
generateNoteOnSD(fileName, (endTime - startTime));
}
}
을 삽입의 경우 :
- 의 최소 실행 시간 샘플은 13ms (밀리 초)
- 샘플의 최대 실행 시간은 537ms입니다.
- 결과 세트의 50 % 이상 (500에서 259 '삽입'실행)은 15-20 ms입니다 .
- 20ms 이상의 값은 매우 낮은 빈도 (1, 2 또는 3)입니다.
누군가이 아이디어가 시스템에서 이러한 유형의 작업을 수행하는 방법에 대한 지침을 줄 수 있습니까? 필자는 스토리지를 지속시키기위한 쓰기 작업이 어떻게 이루어지고 어떤 요인에 의존하는지에 대해서는 실제로 알지 못합니다. 위의 측정 값을 설명하려고 시도하는 것을 알고 싶습니다 (같은 작업의 실행 시간이 왜 다른지).
도움이 매우 감사합니다.
옥타비오