0

私のAndroidアプリケーションでは、アプリケーションの開始時にデータベースからアプリケーションに必要なデータをロードする前処理ステップがあります。SQLite データベースのサイズは約 40 MB です。アプリケーションはデータベースからのデータを前処理するのに長い時間がかかるため、ユーザーはアプリケーションを使用するために約 1 分間待たなければなりません。アプリのパフォーマンスを向上させる方法はありますか? DB操作は、ほとんどが次のような選択タイプです。

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

4

1 に答える 1

1

前処理フェーズのパフォーマンスを向上させるには、DB に対して行われるすべての操作に対して SQL トランザクションを作成します。これにより、特に挿入時間と更新時間が短縮されます。

myDataBase.beginTransaction();
try {
    //make all the BD operations
    myDataBase.setTransactionSuccessful();
}catch {
    //Error in between database transaction 
}finally {
    myDataBase.endTransaction();
}
于 2012-11-09T12:31:14.897 に答える