firefox 3が遅くなった→ SQLite reindexで解決&高速化

Firefox 3を使っていて、起動が異様に遅くなっていて困っていました。
今回、どうやら解決した模様なので備忘録までに記載します。
Firefox 3にバージョンアップしてから、メインで利用しているPCで Firefox の起動が遅くて仕方がない、ipv6検索を無効にするとか試してみたけどもかわず、という状態でした。
だいたい同じAdd-onを 他のPCにも入れて利用していますが、そちらははそう遅くはないので、プロファイル系かあ、までは切り分けしてそのまま利用しておりました。
プロファイル再作成、面倒ですしね。
で、ふと思い立って Firefox 3 で利用している、SQLite データ群をかたっぱしから Reindex したら、
昔のスピードが再現しました。はやい!
改善:2つ
 1)起動が速くなった(起動に1-2分かかる→すぐ起動。劇的に改善。)
 2)サイト表示もはやい。 cookies などの処理がはやくなったため?

やりかた:
1)Firefox のプロファイルディレクトリを確認&バックアップ
 不明なときは、Firfoxまとめサイトなどで確認して下さい。
2)SQLite Manager エクステンションを入手。
https://addons.mozilla.org/ja/firefox/addon/5817
3)Firefox起動→SQLite Manager起動
 「ツール」→「SQLite Manager」
4)SQLite Manager で Firefox のプロファイルディレクトリ以下の places.sqlite ファイルを開く
「Database」→「Connect Database」でファイル選択。
5)SQLite Manager 左画面の Tables ツリーを開く
これがテーブル一覧。
 テーブル一覧からテーブルを1つ選択→右クリック→「Reindex Table」選択
 →「SQLite Manager : Confirm the operation」で「OK」ボタン
  sqlite-manager-reindex.JPG
6)次のテーブルを選択して、5)を繰り返す。
 どれがとか考えるのは面倒なので、テーブル全部。
7) データベースを閉じる。
  「Database」→「Close Database」
8) cookies.sqlite ファイルで 4)~7)を繰り返す
9)他にもサイズの大きな xx.sqlite ファイルがあればそれでも同じ事を繰り返す

goo Dictionary エクステンションを入れてれば、goodictionary.sqlite とか。
追記:便利ツールが公開されています。
 Firerox の SQLite reindex を自動で行ってくれる SQLite Optimizer をご覧下さい。
知らない人の間で改善が連鎖してゆく感じが楽しいです。
あ、連鎖かどうかはわからないか。。


続き:
修正:cookiesにはデフォルトでindexはありませんでした。
ですのでcookies.sqliteでのreindexは不要と思われます。
私は高速化?の可能性を考えてcookiesのhost にindex作成しています。
前後の効果は不明ですが。。

  1. 匿名 on

    cookies.sqliteにindex作成しても意味ないよ
    だってプライマリキーがあるし

  2. しっ on

    anomymousさんへ
    コメントありがとうございます。
    そうですねえ、意図としてはcookiesを使うときはhostsを元に検索するよう実装していると思うのでhostにindexを作成してみたのですが、実際の効果があるかどうかはわかりません。
    ちなみにcookiesのプライマリキーはidへ作成されているし、キーは重複を避けるためのもので検索の高速化になるものでもないと思います。

  3. Firefox3が重くなってきた・・・なぜ?

    Firefox3が重い理由が 1つ分かりました
    いつ頃からだろうか・・・やたら Firefox3が重くなった。もう、泣きそうである。まさ…

  4. 使い続けていると遅くなるfirefox 3にカツを入れる方法

    自分のマシンに保存されているSQLiteのデータを再構築したら早くなるらしい。。。 firefox …

  5. firefox のソース(netwerk/cookie/src/nsCookieService.cpp)を軽く追ってみましたが,
    cookies.sqlite (TABLE moz_cookies) は,
    起動時に SELECT で全部ガッと読み込んでいるようです
    (メモリ上のハッシュテーブルに格納して,その後そのテーブルを利用する)
    なので host フィールドに index を貼るのは,現在の Firefox のインプリメントでは効果がなさそうです。

  6. SQLite Manager

    試してみたところ、起動も(20 秒から7 秒に)サイト表示も(3 分の 2 くらい?)速くなっています。Firefox で履歴やブックマークを管理している…

  7. はじめまして、とにかく1)~8)までを試してみました。
    早くなりまして嬉しく思います。
    定期的に実行しなければいけないのかが?なのですが…

  8. めちゃくちゃ早くなりました。助かります。
    0.1秒の積み重ねが、大きな非効率を産むと・・。
    ありがとうございます。

  9. Firefoxの高速化を図るアドオン「SQLite Optimizer」を試してみた

    Firefoxを使い続けていると、起動に時間がかかるようになってしまいます。履歴…

  10. しっ on

    kinaさんへ
    コメントありがとうございます。
    はやくなって何よりです。昔から利用している環境ならばずいぶん改善すると思ってます。

  11. しっ on

    #スパム対策を厳しくしすぎて、コメント/トラックバックが保留で溜まってました。すみません。
    ポンポンさん:
    ふもふもさん情報の、「SQLite Optimizer」を試してみて下さい!
    dayflowerさん:
    ソースまで読んで確認いただいてありがとうございます。
    そうですか、一括で読んでますか。。なんでDB使っているのだろう。
    ふもふもさん:
    ありがとうございます。早速ブログに記載しておきました。SQLite Optimizer、いいですね。
    かなこさん:
    ありがとうございます。
    ライブマークは利用してないのですが、一応試してみます。
    sasasin さん
    ありがとうございます。
    Linux環境では便利そうですね。(Windowsだとどちらが楽かはちょっと。。)

  12. Mac で遅い Firefox を SQLite の Reindex で高速化するのを試してみる

    Firefox 3にして、もっさりと思い感じがあった。マシンのせいだろうとあきらめていたけれど、どうやら Firefox 内部で使われている SQLite…

  13. Firefox 3.0.11リリース

    久しぶりに(といっても2ヶ月ぶり)愛用しているタブブラウザFirefoxのアップデート版がリリースです。 ・「Firefox 3.0.11」公開、9件の…

  14. しっ on

    Firefox 3で新しくDBを使い始めた時の問題でしたね。
    現在のFirefox 3.6では改善されており、この問題は発生しませんよ。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA