私はアプリケーションが組み込みLinux上で動作しています。 私は、それぞれにたくさんの行(何千)と52の列を持ついくつかのテーブルを持つ、あらかじめ構築されたDBを持っています。実行時に 'INSERT'を実行するとディスクの断片化が発生することになるので、代わりに最初に多くのゴミを持つDBを構築することを心配しているため、DBを構築しました。INSERTと実行時私は 'UPDATE'を使う。SQLite WALのパフォーマンス向上
私は3秒ごとにDBに多くのデータを書きますが、書き込み手順が高速になるためには、SQLiteでWALモードを使用します。しかし、私はパフォーマンスの問題があります。チェックポイントが発生するたびに時間がかかり、プロセッサは3秒以内に処理を実行できないようです。 これを改善するために、私は10回の書き込み呼び出しの後に、メインスレッドからメッセージキューを受け取り、チェックポイントを行うスレッドを作成しました。
さて、状況は良くても、WALファイルはますます大きくなっているようです... どうすればこの問題を回避できますか?
これは、データベースファイルのファイルスペースの割り当てに影響することに注意してください。私がWALファイルへの割り当てがチャンクサイズを尊重しないと分かっているからです。 –