Mejora del rendimiento de SQLite WAL

Tengo una aplicación que se ejecuta en Linux incrustado. Tengo una base de datos pre-construida con algunas tablas donde cada una tiene muchas filas (miles) y 52 columnas. Construí la base de datos adelante, porque me preocupa que si hago 'INSERTAR' en el tiempo de ejecución, haré la fragmentación del disco, así que en lugar de eso, primero construyo una base de datos con mucha basura 'INSERT's y en el tiempo de ejecución Yo uso 'ACTUALIZACIÓN.

Estoy escribiendo muchos datos en la base de datos cada 3 segundos, y para que el procedimiento de escritura sea rápido, uso el modo WAL en SQLite. Aunque, tengo un problema de rendimiento. Parece que cada vez que se produce un punto de control, toma demasiado tiempo y el procesador no puede hacerlo en menos de 3 segundos. Para mejorar esto, creé un subproceso que, después de unas 10 llamadas de escritura, recibe una cola de mensajes desde el subproceso principal y luego al punto de control.

Así que ahora, parece que la situación es mejor, pero el archivo WAL está creciendo más y más y más ... ¿Cómo puedo solucionar esto?

Respuestas a la pregunta(2)

Su respuesta a la pregunta