SQLiteのjournal_modeについて
SQLiteのjournal_modeについてはこちらの記事が参考になりました。
[SQLiteのジャーナルファイル]
http://yuki312.blogspot.jp/2012/02/androidsqlite.html
またSQLiteのjournal_modeにてWAL(Write-Ahead Logging)を使用すると
デフォルトのdeleteモードから5.6倍ほど
insertしてからselectするまでの時間が高速化するという記事を見つけました。
ちなみにGrowthForecastではwalモードを使用されているようです。
[SQLite のパフォーマンスチューニング、または DBIx::Sunny 0.16 の話(2012年6月 8日)]
http://blog.nomadscafe.jp/2012/06/sqlite-dbixsunny-016.html
少しだけwalモードの動作を見てみましたが、
デフォルトのdeleteモードではトランザクション中にjournalファイルが作成され、
コミットするタイミングで削除されます。
一方walモードではtransaction中にshmとwalという二つのファイルが作成され、
commitされるとwalファイルのサイズだけが0になりました。
ポスグレのwalの説明ですが、わかりやすいかも?
[ログ先行書き込みプロトコルに基づくロギング――Write-Ahead Logging (WAL)]
http://www.postgresql.jp/document/7.3/admin/wal.html
[SQLite 3.7登場、高速コミット/ロールバックWAL実装実現[2010/07/26]]
http://news.mynavi.jp/news/2010/07/26/041/index.html
[SQLite本家 Write-Ahead Logging]
http://www.sqlite.org/wal.html