GettingSignals

AndroidのSQLite高速化

2011年8月24日
Posted by hina

旅宿アプリで使っている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

Share

Comments are currently closed.

Follow

カレンダー

2024年4月
1234567
891011121314
15161718192021
22232425262728
2930