YAMAGUCHI::weblog

海水パンツとゴーグルで、巨万の富を築きました。カリブの怪物、フリーアルバイター瞳です。

Firefox3のplaces.sqliteをvacuumして高速化する

動機

最近Firefox3の起動が異様に遅いなあといらいらしてたから。

方法

SQLiteのvacuumコマンドを使う。これはplaces.sqliteが3Mを超えたあたりから効果があるらしい。実際にplaces.sqliteが見てみたらファイルサイズが非常に大きくなっていた。

$ ls -lh places* 
-rw-r--r--   1 ymotongpoo  ymotongpoo       31M  5 19 00:56 places.sqlite
-rw-r--r--   1 ymotongpoo  ymotongpoo       68K  5 19 00:56 places.sqlite-journal

で早速vacuumしてみる。

$ sqlite3 places.sqlite vacuum

どれくらい小さくなったのか。

$ ls -lh places* 
-rw-r--r--   1 ymotongpoo  ymotongpoo       21M  5 19 00:58 places.sqlite

おお、小さくなった。起動してみると確かにちょっと速くなったような気がする。
でもこれで安心してはいけないらしい。

この後にabout:configでbrowser.places.*の設定を変更するとのこと。自分はデフォルトの設定から変更してないので以下。
f:id:ymotongpoo:20090519011025p:image
履歴はあんまり使わないんで、保存期間を3日くらいにしておく。
f:id:ymotongpoo:20090519011142p:image
これで快適に使えますかね。

追記

Firefoxを起動したままvacuumを行おうとすると下記の様に「lockしてますよー」と怒られます。必ず一回落としてから行ってください。

$ sqlite3 places.sqlite vacuum
SQL error: database is locked

一番最初のlsの結果にあるようにjournalファイルがあるようだったらFirefox起動中なので確認してください。