Здравствуйте, 00011011, Вы писали:
0>Откуда такие огромные задержки и как можно ускорить работу с базой?
Объедини по нескольку измемений в одну транзакцию.
По умолчанию (если явно не управлять транзакциями), sqlite считает транзакцией каждую отдельную команду. При этом она берет на себя ответственность, что результаты транзакции не просто прокрутятся логически, а долетят до диска. Что, как ты понимаешь, дело не быстрое.
Если несколько изменений объединены в одну транзакцию, то вся эта долгая возня с обеспечением синхронизации с диском делится на них на всех. Ускорение может быть на несколько порядков (грубо говоря, одно изменение и 10000 изменений, объединенных в одну транзакцию, занимают довольно сравнимое время).