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%の軽量化。ロケーションバーからの履歴検索を何件か試してみましたが,応答が目に見えて速くなりました。これはすごい。
今のところ履歴が消えてるとかそういう不具合も見つかりません。ロケーションバーの検索が遅くなってきたなーと感じる方は是非試してみてはいかがでしょうか。