SQLite для ACID db сбрасывается при каждой фиксации ИЛИ при каждой вставке / удалении / обновлении, не обернутой транзакцией. Используйте транзакции для группировки операций ИЛИ ВЫКЛЮЧИТЕ ACIDity и установите PRAGMA синхронный = OFF.
"PRAGMA синхронный = ВЫКЛ", и SQLite вообще не сбрасывает данные (фактически оставляя это для кэша ОС)
SQLITE_DEFAULT_CACHE_SIZE - ТОЛЬКО для размера кэша. И кеш используется ТОЛЬКО для чтения данных.
Существует еще один вариант - вы можете реализовать собственный слой VFS и вообще запретить сохранение страниц до того, как ваш собственный буфер будет заполнен. http://www.sqlite.org/c3ref/vfs.html
Но я уверен, что sync = off (или гораздо лучше для использования транзакций) сделает работу достаточно хорошо (имея хороший шанс испортить вашу базу данных в случае сбоя питания или полного сброса для sync = off).
Еще один совет - поместить ЖУРНАЛ в память или полностью его отключить. Опять же - это отключает кислотность, но это также удаляет некоторые касания диска.