SQLite Managerを触ってみた
「firefox3 遅くなった」でググって「SQLite Manager」というアドオンがあることを知った。検索結果の一番上に表示されていた【firefox 3が遅くなった→ SQLite reindexで解決&高速化 - しおそると】を読んで、私も「places.sqlite」のテーブルをReindexしてみた。Firefox3の起動が少し速くなったような気がする。以前はFirefox3終了直後に起動しようとすると、「すでに起動している」という趣旨のエラーが出て起動できなかったのだが、今のところは終了直後に起動できるようになった。それも改善されたようである。
ただ、「常にタブバーを表示する」にチェックした状態でhttpsで始まるページの表示が遅くなる問題は解決できなかった。
Firefox3には他にも変なバグがあって、ブックマークに登録してあるサイトのアイコンが他のサイトのアイコンに置き換わってしまうことがある。その件も「SQLite Manager」で修正できないものかと探ってみた。
ググって見つけた【くふぉーるSEブログ Firefox 3のブックマークFaviconがキャッシュクリアでリセットされない?】を見ると、「Favicon Picker」というアドオンがあるようだが、せっかく「SQLite Manager」をインストールしたので、それを使って何とかならないものかと考えた。
【くふぉーるSEブログ Firefox 3ブックマークFaviconリセット手順その2(SQLite Manager)】で紹介されている方法があるが、私にはハードルが高かった。要するに、異常なアイコンをいったん消去してから改めてFirefox3で閲覧すれば良いのだろう。
私の場合はfaviconを指定していない私のサイトの一部のブックマーク(以下ブックマークAと記す)にYahoo!のアイコンが付いてしまっていた。そこで、「places.sqlite」内のテーブル「moz_favicons」からYahoo!のアイコンを見つけて削除した。同じアイコンが複数あったが、その内の一つがブックマークAに付いていたらしい。削除した後にFirefox3を見たら、Yahoo!のサイトのアイコンが消えて、ブックマークAに付いていたアイコンも白紙のアイコンに戻っていた。Yahoo!のサイトは改めて閲覧することでアイコンが戻った。
それだけではつまらないので、テーブル「moz_bookmarks」にアイコンを設定してあるフィールドがあるだろうから変えてみようと思って見てみた。しかし、無かった。そもそもURLとも関連付けられていない。それならば、どこで履歴やブックマークとアイコンやURLとを関連付けているのか。すぐに見つかった。「moz_places」というテーブルだった。各履歴の「favicon_id」というフィールドに「moz_favicons」の id が記載されていた。この id を変えることで、ブックマークAのアイコンを私のブログのfaviconに変えることができた。その前は、NULLではなく、どこかの id が記入されていた。たぶんYahoo!のサイトのアイコンの id だろう。ちゃんと確認しなかったので、確証は無い。「moz_favicons」でその id は削除してあるので、もうYahoo!のサイトのアイコンに変わることはなかったと思うが、アイコンの異常はこのテーブルが原因だったと思われる。faviconを指定してないので、書き換えられることはなく、Yahoo!のサイトのアイコンを表示し続けていたのだろう。ちなみに、「moz_places」で指定した「favicon_id」の id が「moz_favicons」に存在しない場合は、新たな id を作成して、「favicon_id」はその id に書き換えられるようである。
当然のことだが、私のパソコンのFirefox3でしか確認できない。ブックマークAはツールバーに加えてあったので、白紙アイコンではつまらないので変えてみた。ちゃんとHTMLでfaviconを指定すれば良いのだが、私しか使わないページだろうから横着している。
最後に、注意を。
「SQLite Manager」を使ってFirefox3のテーブルを変更すると何らかのトラブルが生じるかもしれない。私は以前にアルバイトでデータベースの管理をしたことがあって、その流れで興味を持って触ってしまったが、できれば触らない方が良いかもしれない。触るのなら、【firefox 3が遅くなった→ SQLite reindexで解決&高速化 - しおそると】にも【くふぉーるSEブログ Firefox 3ブックマークFaviconリセット手順その2(SQLite Manager)】にも書いてあるが、プロファイルのデータベース(フォルダごとファイル全部)をバックアップ(他の場所にコピー)しておいた方が良いだろう。トラブルが生じたら、元に戻せば回復するかもしれない。
それに、ブラウザに表示されるアイコンを変えたければ【Favicon Picker】を使ったほうが良さそうである。そちらでは、オリジナルのアイコンも指定できるらしい。
追記:
「moz_places」を見て感じたのは履歴の多さ。7日分しか保存していないはずなのに(追記:私の勘違いだった。ツールメニューのオプションで設定したのは「少なくとも」ということで、最短保持期間だった。最長保持期間の設定は普通の方法ではできず、デフォルトは180日らしい。ここを見て知った)、異常なほど多かった。大きくなりすぎたデータベースの処理で遅くなっているのなら、ブラウザで履歴をサイドバーに表示して、「表示」メニューで「日付順に並べる」を選択して下の方の古い日付の分を削除(右クリックで削除を選択)した方が良いかもしれない。それだけで起動や終了が速くなるかもしれない。それで速くなるのなら「SQLite Manager」を使うよりも安全である。
追記:
Firefox3のテーブル構造について解説しているらしいサイトがあった。テーブル間の関係の図を見るだけでも役立ちそう。
→【Firefox 3のPlacesにSQLite Database Browserでアクセスしてみる】
コメント 0