デバイス(Android galaxy tab2)のsqliteデータベースに挿入したい約7000行があります。現在、JSON ファイルを解析し、「for」ループを使用して行をデータベースに挿入しています。しかし、データを解析して sqlite データベースに挿入するのに 120 秒以上かかります。これを行うための他のより速い方法はありますか?
ありがとう...
使用する必要がありますstatements
database.beginTransaction();
SQLiteStatement stmt = database.compileStatement(sql);
for (int i = 0; i < NUMBER_OF_ROWS; i++) {
//generate some values
stmt.bindString(1, randomName);
stmt.bindString(2, randomDescription);
stmt.bindDouble(3, randomPrice);
stmt.bindLong(4, randomNumber);
long entryID = stmt.executeInsert();
stmt.clearBindings();
}
database.setTransactionSuccessful();
database.endTransaction();
参照
ここに、これら 2 つの挿入方法の比較が記載されているもう 1 つのリンクがあります。(100 レコードの場合、通常の挿入には 1657 ミリ秒かかりましたが、ステートメントの場合endTransaction()
は 92 ミリ秒かかりました)