3

デバイス(Android galaxy tab2)のsqliteデータベースに挿入したい約7000行があります。現在、JSON ファイルを解析し、「for」ループを使用して行をデータベースに挿入しています。しかし、データを解析して sqlite データベースに挿入するのに 120 秒以上かかります。これを行うための他のより速い方法はありますか?

ありがとう...

4

2 に答える 2

1

使用する必要があります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 ミリ秒かかりました)

于 2015-12-16T04:53:14.407 に答える