firefox の各種db整理 (sqlite 最適化)
firefoxは履歴やフォームなどの管理にsqlite3を使っています(safari4も)
これが長年使っているとかなり大きくなります(特にplaces.sqliteが)、そこで移行ついでに肥大化したdbを中味をすっきりさせる事で以下のようにやってみました。
sqlite の vacuum を使います。
実際には
まずはsqlite3を使えるようにインストール
sudo apt-get install sqlite3
プロファイルにあるdbまでたどりついて、
cd ~/.mozilla/firefox/数字の羅列.std
バックアップを取った上で以下のように。
面倒なので zsh なら以下のようにすれば一発でまとめて出来ます。
for i in *.sqlite; do sqlite3 "$i" vacuum; done
for i in *.sqlite; do sqlite3 "$i" reindex; done
もし一つのファイル毎にやるならこのように。
sqlite3 ファイル名 vacuum
結果
% ls -al *.sqlite
変更前 | 変更後 | ファイル名 |
---|---|---|
7168 | ← | content-prefs.sqlite |
43008 | 2048 | cookies.sqlite |
8192 | 2048 | downloads.sqlite |
6144 | ← | firegestures.sqlite |
329728 | 4096 | formhistory.sqlite |
15360 | ← | goodictionary.sqlite |
2048 | ← | permissions.sqlite |
7766016 | 729088 | places.sqlite |
10240 | ← | scribefire.sqlite |
6144 | ← | search.sqlite |
24576 | ← | signons.sqlite |
150528 | 142336 | ubiquity_ann.sqlite |
2048 | ← | ubiquity_skin_memory.sqlite |
2809856 | 2838528 | urlclassifier3.sqlite |
3072 | ← | webappsstore.sqlite |
places などは大分ファイルが小さくなりました。
気になる速さは、速い気もするけど気のせいかもぐらい。まあすっきりしたという事で。