Улучшение производительности SQLite WAL

У меня есть приложение, работающее на встроенном Linux. У меня есть готовая БД с несколькими таблицами, в каждой из которых много строк (тысяч) и 52 столбца. Я построил БД заранее, потому что я обеспокоен тем, что если я сделаю «INSERT» во время выполнения, я сделаю фрагментацию диска, поэтому вместо этого я сначала создаю БД с большим количеством мусора «INSERT» и во время выполнения Я использую 'ОБНОВЛЕНИЕ.

Я записываю много данных в БД каждые 3 секунды, и для ускорения процедуры записи я использую режим WAL в SQLite. Хотя у меня проблема с производительностью. Кажется, что всякий раз, когда возникает контрольная точка, она занимает слишком много времени, и процессор не может сделать это менее чем за 3 секунды. Чтобы улучшить это, я создал поток, который после примерно 10 записывающих вызовов получает очередь сообщений из основного потока, а затем контрольную точку.

Так что теперь, похоже, ситуация лучше, но файл WAL становится все больше, больше и больше ... Как я могу работать здесь?

Ответы на вопрос(2)

Ваш ответ на вопрос