Windows 起動時にバッチファイルで Firefox の *.sqlite ファイルを vacuum したり reindex する方法
JavaScript コンソールやアドオン(エクステンション)で sqlite ファイルをデフラグするのが流行ってますが、デフラグ時にフリーズする等それなりの欠点があると思っている人いませんか?
それなら良い方法があります(Windows 向け)
sqlite 断片化問題
原始的な解決策:sqlite を手動でデフラグ
- Firefox が起動していない状態で、コマンドプロンプトを起動、プロファイルフォルダに移動し、*.sqlite ファイルを手動デフラグする
sqlite3.exe *.sqlite vacuum sqlite3.exe *.sqlite reindex
正直、手動では面倒でやる気になれない...
「原始的な解決策」の欠点
- Firefox を終了させなくてはならない
- ブラウザのプロファイルフォルダに移動しなくてはならない
- コマンドの手打ちは嫌だ
- etc...
アドオン(エクステンション)を使うとフリーズして不気味だし、何か他に良い手はないか...
⇓ ⇓ ⇓ ⇓ ⇓ ⇓ ⇓ ⇓ ⇓ ⇓
自動化(プロファイル・フォルダの *.sqlite をデフラグ)
- ブラウザのプロファイルフォルダの場所を仮に "D:\mozilla.org\Firefox" とすれば、下記ファイルをバッチファイル( *.bat )として Windows のスタートアップ・フォルダに保存するだけ
for %%i in (D:\mozilla.org\Firefox\*.sqlite) do (sqlite3.exe %%i vacuum sqlite3.exe %%i reindex)
これで sqlite ファイルの断片化問題を忘れることが出来る(毎スタートアップ時に実行するので Firefox を終了させる必要もない)