2010-12-13 4 views
5

하나의 트랜잭션에 넣지 않고 여러 SQL 문을 실행하는 것은 심각한 병목 현상입니다 (예 : http://www.sqlite.org/faq.html#q19 참조). Android에서 SQLite가 어떻게 구성되어 있는지 철저히 확인하지는 못했지만 일화에서 더 많은 장소에서 트랜잭션을 사용할 때 앱 내에서 놀라운 성능 향상을 감지했습니다.StrictMode를 사용하여 Android에서 잊어 버린 SQLite 트랜잭션을 감지하고 있습니까?

StrictMode를 사용하여 트랜잭션을 사용하는 것을 잊어 버리는 경우를 감지 할 수 있습니까? 그렇지 않다면 StrictMode의 향후 릴리스로 간주 될 수 있습니까? 발견하기가 다소 까다 롭지 만 두 가지 전략은 1) 트랜잭션 외부의 비 선택 문, 또는 2) 단기간 내에 실행 된 트랜잭션 외부의 여러 개의 비 선택 문일 수 있습니다.

답변

3

그래, 그게 좋은 소리 같아. 내가 좋아하는 API를 상상할 수 : 우리는 StrictMode으로 다른 SQLite는 후크를 생각해 왔던

StrictMode.catchWritesOutsideTransactionsOn(SQLiteDatabase db);

(대부분의 주위에없는 인덱스와 같은 선택), 그러나 이것은 너무 좋은 생각이다!

+1

건배! 누락 된 색인도 훌륭합니다! – jonasb

+0

진저 브레드가 내 넥서스 ... 트위들 엄지 손가락을 치길 기다리는 중 :) – hunterp

+0

안녕하세요, 진저 브레드 소스가 출시되었습니다. 한 번에 한 단계 씩. :) –

관련 문제