В моем приложении для iPhone выполняются некоторые относительно сложные запросы sqlite, а некоторые занимают слишком много времени (более 15 секунд). В базе данных всего около 430 записей. Одна вещь, которую я заметил, это то, что открытие нового соединения с базой данных (которое я делаю только один раз) и пошаговое выполнение результатов запроса (с sqlite3_step()
) приводит к запуску sqlite3_backup_init()
и sqlite3_enable_shared_cache()
, что занимает 4450 мс и 3720 мс обработки соответственно время на протяжении всего периода испытаний. Я пытался использовать sqlite3_enable_shared_cache(0);
, чтобы отключить совместное кэширование перед открытием соединения с базой данных, но, похоже, это не дает никакого эффекта.
Кто-нибудь знает, как отключить их, чтобы я мог получить какое-то улучшение скорости?