Эффективные вставки SQLite с Android

У меня есть деятельность, которая работает с принтерами моего университета. Принтеры можно загрузить через Интернет, а затем сохранить в базе данных SQLite. Проблема в том, что для их хранения необходимо сделать около 500 записей в базе данных, что с моим кодом требует очень много времени (около 30 секунд на Google Nexus S). Мой код для этого следующий:

printerDB = new PrinterListOpenHelper(this);
SQLiteDatabase db = printerDB.getWritableDatabase();
db.execSQL("INSERT INTO destination (id, destination) VALUES(1,'BSAC240');");
db.execSQL("INSERT INTO destination (id, destination) VALUES(2,'BSAD152');");
...

Далее следует ок. 500 подобных рядов. Я также пытался сделать это с помощью одного

db.rawQuerry("INSERT INTO destination (id, destination) VALUES(1,'BSAC240');
INSERT INTO destination (id, destination) VALUES(2,'BSAD152');.......");

, но тогда фактически выполняется только первый оператор INSERT.

Кто-нибудь знает, как сделать это эффективным? Или базы данных Android на самом деле такие медленные?

Большое спасибо за вашу помощь! Я также пытался сделать это с помощью одного

db.rawQuerry("INSERT INTO destination (id, destination) VALUES(1,'BSAC240');
INSERT INTO destination (id, destination) VALUES(2,'BSAD152');.......");

, но тогда фактически выполняется только первый оператор INSERT.

Кто-нибудь знает, как сделать это эффективным? Или базы данных Android на самом деле такие медленные?

Большое спасибо за вашу помощь! Я также пытался сделать это с помощью одного

db.rawQuerry("INSERT INTO destination (id, destination) VALUES(1,'BSAC240');
INSERT INTO destination (id, destination) VALUES(2,'BSAD152');.......");

, но тогда фактически выполняется только первый оператор INSERT.

Кто-нибудь знает, как сделать это эффективным? Или базы данных Android на самом деле такие медленные?

Большое спасибо за вашу помощь! Саймон

8
задан WarrenFaith 15 March 2011 в 11:32
поделиться