Poprawa wydajności SQLAL WAL

Mam aplikację działającą na wbudowanym Linuksie. Mam gotową DB z kilkoma tabelami, z których każda ma wiele wierszy (tysiące) i 52 kolumny. Zbudowałem DB z wyprzedzeniem, ponieważ obawiam się, że jeśli zrobię „INSERT” w czasie wykonywania, zrobię fragmentację dysku, więc zamiast tego zbuduję DB najpierw z dużą ilością śmieci INSERT iw czasie wykonywania Używam „UPDATE”.

Piszę dużo danych do bazy danych co 3 sekundy, a aby procedura zapisu była szybka, używam trybu WAL w SQLite. Chociaż mam problem z wydajnością. Wydaje się, że za każdym razem, gdy pojawia się punkt kontrolny, trwa to zbyt długo i procesor nie może tego zrobić w mniej niż 3 sekundy. Aby to poprawić, utworzyłem wątek, który po 10 wywołaniach otrzymuje kolejkę komunikatów z głównego wątku, a nie punkt kontrolny.

Teraz wygląda na to, że sytuacja jest lepsza, ale plik WAL staje się coraz większy i większy ... Jak mogę tu pracować?

questionAnswers(2)

yourAnswerToTheQuestion