まっちゃさんところ経由、Special Thanks です。
netscape.hst の頃から履歴ファイルの扱いはいろいろと問題があったようで、試行錯誤の結果の一つの解として、Firefox3.x では、前バージョンまでの history.dat を捨てて、SQLite(places.sqlite) に落ち着いたようです。
しかし、「ファイルサイズがでかくなると遅い」と云う現象は相変わらずでした。
Firefox 3.x では履歴とブックマークが一体化したので、管理や見かけの使い勝手は向上したようですが、サイズの点では悪化に拍車を掛けたように思います。
と云うことで、SQLite Optimizer を試してみましたが、かなり良いです。履歴もブックマークも表示が相当高速化しました。Firefox 自身の起動さえ速くなったようです。
(図2)
SQLite Optimizer 。
(画像サイズ 39KB、クリックで拡大 68KB)
places.sqlite ファイル自身の大きさは、最適化前後で変化しませんでした。内部の構造が変わるだけですね。ちなみにサイズは 72MB でした。今までは、履歴(S) メニューに触れるだけでプチフリーズしてましたが、最適化後は待っても2秒です。Ctrl+H も一瞬で表示されます。
DROP INDEX -> CREATE INDEX するだけみたいですが、とっても効きます。やっぱり、INDEX って大事ですねぇ。
TABLE の再作成までやるなら SQLite Manager を使うってことになります、たぶん。(こうなると、Oracle の TRACE みたいな(ry )
基本的に、 Beta とか Experimental なものには手を出さないポリシーなんですが、これは試してみる気になりました。そして気に入りました。テストマシンの小さなサイズの places.sqlite でも相当効きましたので。
注意点として、プロファイルフォルダ内に対象 sqlite ファイルのバックアップとかを作成してあったりすると最適化に失敗するようです。(バックアップの方だけを最適化しに行って、Add-on の Script が終了しません。完了メッセージが出ないのです。)
%APPDATA%\Mozilla\Firefox\Profiles\xxxxxxxx.default\places-20090510.sqlite みたいな読み取り専用ファイルを作ってあるとまずい、と云うことです。
%APPDATA%\Mozilla\Firefox\Profiles\xxxxxxxx.default\Backup\20090510\places.sqlite とかならOKでした。
(おまけ)
あとは、標準機能として「最終アクセス日付を表示した状態で履歴を一覧、ソート」なんて出来ると良いと思います。> Firefox
Netscape4.x では出来たので、自分としてはこの点だけは Firefox のデグレードなんですよね。IE ユーザさんには不足はないのかもしれませんが。
(関連)
Mozilla Re-Mix@シーサーブログ http://mozilla-remix.seesaa.net/article/118793069.html
> Firefoxのデータベースを最適化して高速化を図るアドオン「SQLite Optimizer」
Mozilla Foundation https://addons.mozilla.org/ja/firefox/addon/11198
> Firefox Add-ons
> 作者: c_sar
> 実験的なアドオン
>
> カテゴリ
>
> * その他
> Firefoxプロファイルフォルダ直下にある *.sqlite データベースの最適化を行います。
> レビュー (1)
> 2009年 3月 29日 更新
>
> 4,925 ダウンロード (週間)
> 5,239 ダウンロード (累計)
Mozilla Foundation https://addons.mozilla.org/ja/firefox/addon/5817
> SQLite Manager :: Firefox Add-ons
> 作者: Mrinal Kant
> カテゴリ
>
> * Web 開発
> * その他
>
>Manage any SQLite database on your computer.
> 2009年 4月 2日 更新
いじょうです。
-
- -