AndroidのSQLite高速化
旅宿アプリで使っているDBの登録処理が長かったので、
SQLiteの高速化処理について調べてみました。
高速化の方法はTransaction処理を明示的に行うこと。
今回は複数行を1行ずつDBに登録していました。
トランザクション処理を記述する前は、
400行のデータの登録するのに40秒かかっていました。
トランザクション処理を記述後は、5秒で完了しました。
ソースはこんな感じです。
try {
database.beginTransaction(); // ①
for(Data data : list) {
// DBに登録
database.insert(data); // ②
}
database.setTransactionSuccessful(); // ③
} finally {
database.endTransaction(); // ④
}
①・・・トランザクションを開始
②・・・DBに挿入
③・・・コミット
④・・・トランザクション終了
参照元
http://www.atmarkit.co.jp/fsmart/articles/android06/android06_2.html
Comments are currently closed.