組み込みLinuxで実行しているアプリケーションがあります。いくつかのテーブルを備えたビルド済みのDBがあり、各テーブルには多数の行(数千)と52列があります。実行時に「INSERT」を実行するとディスクの断片化が発生するのではないかと心配しているため、事前にDBを構築しました。代わりに、多くのガベージ「INSERT」を使用して実行時に最初にDBを構築します。 'UPDATE'を使用します。
私は3秒ごとに大量のデータをDBに書き込んでいます。書き込み手順を高速化するために、SQLiteでWALモードを使用しています。しかし、私にはパフォーマンスの問題があります。チェックポイントが発生するたびに、時間がかかりすぎて、プロセッサが3秒未満でそれを実行できないようです。これを改善するために、10回の書き込み呼び出しのように、メインスレッドからチェックポイントよりもメッセージキューを受信するスレッドを作成しました。
だから今、状況は良くなっているように見えますが、WALファイルはどんどん大きくなっています...どうすればここで回避できますか?