読者です 読者をやめる 読者になる 読者になる

YAMAGUCHI::weblog

土足で窓から失礼いたします。今日からあなたの息子になります。 当年とって92歳、下町の発明王、エジソンです。

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起動中なので確認してください。