A rotina de importação que implementei usando o ContentValues... put... insert... ficou uma carroça puxada por lesmas. Vou ter que refazer tudo. Procurei por dicas no google e achei bons materiais. Ainda vou implementar.
Aconselho uma lida nesse testo
Database Speed Comparison
http://www.sqlite.org/speed.html
Achei dua maneiras, e as duas tem que ter controle de transação.
How to speed up multiple inserts in SQLite
http://www.tanguay.info/web2008/codeExample.php?id=728
Android: Using DatabaseUtils.InsertHelper for faster insertions into SQLite database
http://www.outofwhatbox.com/blog/2010/12/android-using-databaseutils-inserthelper-for-faster-insertions-into-sqlite-database/
Tem esse outro texto também sobre como otimizar
SQLite Optimization FAQ
http://web.utk.edu/~jplyon/sqlite/SQLite_optimization_FAQ.html
Acredito que eu passe a utilizar esse código
try {
mDb.beginTransaction();
for (Value value : values) {
ih.prepareForInsert();
ih.bind(colIdx, value.getSomeValue());
// ...
ih.execute();
}
mDb.setTransactionSuccessful();
} finally {
mDb.endTransaction();
}
editando
Achei esse código e estou utilizando ele. Passou de uns 15 minutos para menos de 1, hehehe.
Notes on Android SQLite bulk insert
http://sagistech.blogspot.com/2010/07/notes-on-android-sqlite-bukl-insert.html
Fiquem na Paz!!!
Nenhum comentário:
Postar um comentário