私は、review_scheduleテーブルへの更新と挿入の両方を行っています。両方の時間に1秒から2秒の間がかかるようですが、少し遅いです。私は、idフィールドとdate_reviewフィールドにインデックスを設定して、それを使わずに試しました。挿入用にプリコンパイルされたステートメントを使用していますが、更新用ではないことに注意してください。なぜなら、更新用のコンパイル済みステートメントはGingerbreadではサポートされていないからです。コードは次のとおりです。AndroidでSQLiteアクセスを高速化するには
public long insert(int id, String lastReviewDate, String nextReviewDate) {
this.insertStmt.bindLong(1, id);
this.insertStmt.bindString(2, lastReviewDate);
this.insertStmt.bindString(3, nextReviewDate);
return this.insertStmt.executeInsert();
}
public void updateSRSInfo(int id, String lastReviewDate,
String nextReviewDate) {
ContentValues contentValues = new ContentValues();
contentValues.put("last_review_date", lastReviewDate);
contentValues.put("next_review_date", nextReviewDate);
this.myDataBase.update(DataBaseHelper.WORD_REVIEW_SCHEDULE,
contentValues, "_id=?", new String[] { Integer.toString(id) });
}
ご了承ください。
なぜdownvotes、みんな? –
私は心配しません。私にも一度起こった。私はあなたが少なくとも外見上の形式で、よくフォーマットされ、質問された質問をdownvoteすれば、私たちが改善するのを助けるために少なくともコメントしなければならないと思います。あなたのことを思い出して、私はあなたの質問の解決に全く気づいていない、ちょうどあなたのために1つを追加して、あなたに幸運を願ってここに来た! – davidcesarino
アプリケーションを応答不能にする手順の長さですか?その場合、操作を別のスレッドに移すことができます。 – mbwasi