sqlite: загрузка БД - PullRequest
       1

sqlite: загрузка БД

0 голосов
/ 05 марта 2011

Я новый разработчик Android, прежде всего спасибо за ответы, которые помогают мне каждый день.Мой вопрос: я хочу использовать sqlite, чтобы иметь БД со многими тысячами строк, но вставка этого занимает в среднем одну секунду на строку: это слишком медленно;Мой БД должен обновляться каждый день, поэтому я хочу заархивировать этот БД, загружая в папку моего приложения (assets ou raws).Android SDK позволяет это?Я смотрю во многих ответах, но ничего не нашел.Спасибо за все.(извините за мой английский)

Ответы [ 2 ]

1 голос
/ 05 марта 2011

Решением вашей проблемы является использование транзакций .Вы говорите "BEGIN TRANSACTION" SQLite, затем запускаете все свои INSERT с, затем говорите "COMMIT TRANSACTION".Это намного быстрее, потому что, если уже не запущена транзакция, SQLite выполняет каждый запрос внутри отдельной транзакции (так называемый автокоммит), а выполнение "COMMIT TRANSACTION" internall для каждой INSERT очень медленное.

0 голосов
/ 05 марта 2011

Понятия не имею об андроидной части, но вставки, берущие 1с, ненормальны. Если вы собираетесь вставить большое количество строк, сделайте это в транзакции.

begin transaction;
insert into mytable values (...);
....
commit;

Это будет намного быстрее, чем просто делать вставки по одному.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...