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

places.sqliteの最適化でFirefoxが速くなった!

Firefox 3のPlacesが面白かったので履歴を900日保存にしていたら,ロケーションバーの動作がだんだん鈍くなってきた。鳥獣保護区 | places.sqlite の最適化で Firefox 3 は速くなる…か?を参考にして,「*.sqlite」ファイルのクリーンアップをやってみた。
サンプルに挙げられているzshのコマンドがかっこよかったからPowerShellで真似してみた。

# プロファイルフォルダに移動
PS> cd "C:\Users\makoto\AppData\Roaming\Mozilla\Firefox\Profiles\xxxxxxxx.Default User"
# *.sqlite のバックアップをとる
PS> ForEach($i in ls -filter *.sqlite)
>> {cp "$i" "$i.bak"}
>>
# バックアップできたか一応確認
PS> ls -filter *.sqlite*

Mode                LastWriteTime     Length Name
----                -------------     ------ ----
-a---        2008/09/12     23:40       7168 content-prefs.sqlite
-a---        2008/09/12     23:40       7168 content-prefs.sqlite.bak
# 後略

# 最適化する
PS> ForEach($i in ls -fil *.sqlite)
>> {sqlite3 "$i" vacuum}
>>
# 最適化できたか確認
PS> ls -filter *.sqlite*

Mode                LastWriteTime     Length Name
----                -------------     ------ ----
-a---        2008/09/12     23:44       7168 content-prefs.sqlite
-a---        2008/09/12     23:40       7168 content-prefs.sqlite.bak
-a---        2008/09/12     23:44     116736 cookies.sqlite
-a---        2008/09/12     23:40     250880 cookies.sqlite.bak
-a---        2008/09/12     23:44     352256 downloads.sqlite
-a---        2008/09/12     19:50     643072 downloads.sqlite.bak
-a---        2008/09/12     23:44       3072 dta_queue.sqlite
-a---        2008/07/23      7:33   20669440 dta_queue.sqlite.bak
-a---        2008/09/12     23:44       4096 firegestures.sqlite
-a---        2008/02/26     22:54       4096 firegestures.sqlite.bak
-a---        2008/09/12     23:45     617472 formhistory.sqlite
-a---        2008/09/12     23:39     620544 formhistory.sqlite.bak
-a---        2008/09/12     23:45       2048 permissions.sqlite
-a---        2008/09/02      2:28       2048 permissions.sqlite.bak
-a---        2008/09/12     23:45   35901440 places.sqlite
-a---        2008/09/12     23:40   53522432 places.sqlite.bak
-a---        2008/09/12     23:45       4096 search.sqlite
-a---        2008/06/04      6:59       4096 search.sqlite.bak
-a---        2008/09/12     23:45       1024 xulmigemo.sqlite
-a---        2008/07/04      4:07          0 xulmigemo.sqlite.bak

XUL/Migemoのデータベースだけサイズが大きくなっていますが,他は変化無しか減少しました。
Down Them Allのデータベース(dta_queue.sqlite)の容量減りすぎワロタw今までダウンロードした物のデータが残っていたのでしょうか。
肝心のplaces.sqliteですが,51MBから34.2MBで約30%の軽量化。ロケーションバーからの履歴検索を何件か試してみましたが,応答が目に見えて速くなりました。これはすごい。
今のところ履歴が消えてるとかそういう不具合も見つかりません。ロケーションバーの検索が遅くなってきたなーと感じる方は是非試してみてはいかがでしょうか。