2012-11-09 3 views
0

내 안드로이드 응용 프로그램에 데이터베이스에서 응용 프로그램에 필요한 데이터를로드하는 응용 프로그램 시작 부분에 전처리 단계가 있습니다. SQLite 데이터베이스의 크기는 약 40MB입니다. 응용 프로그램은 데이터베이스에서 데이터를 사전 처리하는 데 많은 시간이 필요하므로 사용자는 응용 프로그램을 사용하는 데 약 1 분을 기다려야합니다. 앱의 성능을 향상시킬 수있는 방법이 있습니까? DB를 작업은 다음과 같이 주로 선택 유형은 다음과 같습니다안드로이드에서 데이터 전처리를 더 빠르게하는 방법은 무엇입니까?

Cursor mCursor = myDataBase.rawQuery("SELECT SUM(TimeTaken) as _time from AssessmentAttempted where AssesmentId IN(" + assessmentIds + ")", null);

+1

시간이 얼마나 걸릴지 알 수 있습니까? DB가 스스로 또는 일부 Java 처리를 요청합니까? 얼마나 많은 DB 요청이 있습니까? 어느 것이 가장 길습니까? – fiddler

+0

@fiddler 시간이 걸리는 DB 요청이라고 확신합니다. – Jaguar

답변

1

는 전처리 단계의 성능은 DB에 대한 모든 작업을위한 SQL 트랜잭션을 생성 개선하기 위해. 특히 삽입 및 업데이트 시간이 줄어 듭니다.

myDataBase.beginTransaction(); 
try { 
    //make all the BD operations 
    myDataBase.setTransactionSuccessful(); 
}catch { 
    //Error in between database transaction 
}finally { 
    myDataBase.endTransaction(); 
} 
+0

답변 해 주셔서 감사합니다. 여기에 DB가 무엇입니까? – Jaguar

+0

당신의 코드'myDataBase' 객체에서 SQLite DB가 응답을 업데이트합니다. – sabadow

관련 문제