Melhoria do desempenho do SQLite WAL

Eu tenho um aplicativo em execução no Linux incorporado. Eu tenho um DB pré-construído com algumas tabelas, onde cada um tem um monte de linhas (milhares) e 52 colunas. Eu construí o banco de dados à frente, porque estou preocupado que se eu vou fazer 'INSERT' no tempo de execução eu vou fazer a fragmentação do disco, então eu construo um banco de dados primeiro com muito INSERT de lixo e no tempo de execução eu uso 'UPDATE's.

Estou escrevendo um monte de dados para o banco de dados a cada 3 segundos, e para o procedimento de gravação ser rápido, eu uso o modo WAL no SQLite. Porém, tenho um problema de desempenho. Parece que sempre que ocorre um ponto de verificação, demora muito e o processador não consegue fazê-lo em menos de 3 segundos. Para melhorar isso, criei um thread que, depois de 10 chamadas de gravação, recebe uma fila de mensagens do thread principal e que o checkpointing.

Então, agora, parece que a situação é melhor, mas o arquivo WAL está ficando maior e maior e maior ... Como posso trabalhar por aqui?

questionAnswers(2)

yourAnswerToTheQuestion