我無法將大量數據插入到Android sqlite數據庫(~7000行數據)中。我使用的是InsertHelper,但它似乎並沒有加速這麼多。有沒有其他的方式來有效地將這麼多的數據插入數據庫?(Android)插入數千行到sqlite
謝謝。
編輯:
我找到了一個修復它。我插入的代碼如下(細節省略簡潔):
public void addEntries(ArrayList<KeywordMap> keywords) {
if (keywords == null || keywords.size() == 0)
return;
mDb.beginTransaction();
String sql = "Insert into " + AUTOCOMPLETE_TABLE + " (path, name, course_id, " +
"course_id_norm, type, year) values(?,?,?,?,?,?)";
SQLiteStatement insert = mDb.compileStatement(sql);
for (KeywordMap keyword : keywords) {
insert.bindString(1, keyword.path);
insert.bindString(2, keyword.name);
insert.bindString(3, keyword.cid);
insert.bindString(4, keyword.cid_norm);
insert.bindDouble(5, keyword.type);
insert.bindDouble(6, keyword.year);
insert.execute();
}
mDb.setTransactionSuccessful();
mDb.endTransaction();
}
什麼是你的INSERT語句是什麼樣子?周圍環境是什麼? – sarnold 2012-04-17 02:45:51
我找到了一個很好的解決方案(運行時間可能減少了大約5倍) – Jin 2012-04-17 05:17:35
一旦堆棧允許您回答自己的問題,請提交最終結果,以便其他人可以在將來找到它。謝謝! – sarnold 2012-04-17 23:52:53