Firefox Awesome Bar は確かに素晴らしいです。でも最近は遅くなっているようです。一部の文字を入力すると、数秒間フリーズします(ブラウザ全体がフリーズします)。
なぜ遅くなるのですか?それをスピードアップする方法はありますか?
(OSはWindows XPです。)
Firefoxが履歴やその他のデータを保存するために使用するSQLiteデータベースを[〜#〜]真空[〜#〜]することができます。バキュームは、ファイル内のデータベーステーブルを最適化します。これによりFirefoxが高速化され、ディスク容量が節約されます。
Firefoxデータベースファイルをバキュームするには:
システム上のFirefoxプロファイルデータディレクトリを見つけます。 Windows Vistaでは、_C:\Users\tom\AppData\Roaming\Mozilla\Firefox\Profiles\default.jqi\
_のようになります。ディレクトリには拡張子が.sqliteのファイルが含まれているため、それらを検索して見つけることができます。
SQLiteコマンドラインユーティリティを入手する ここ 。
Firefoxのすべてのウィンドウを閉じます。プロファイルディレクトリでコマンドラインを開きます。
Windowsでは、コマンドfor %i in (*.sqlite) do @echo VACUUM; | sqlite3 %i
を入力します。LinuxまたはMacでは、_for i in *.sqlite; do echo "VACUUM;" | sqlite3 $i ; done
_を実行します。
ハードドライブを最適化します。
Google Chromeは、ファイルに.sqlite拡張子を付けないことを除いて、実際にはSQLiteも使用します。 Chromeプロファイルディレクトリ内のすべてのファイルに対して同じコマンドを安全に実行でき、SQLiteは認識したファイルのみをVACUUMします。
ボタンをクリックするだけでPlacesデータベースを最適化できる Vacuum Places アドオンをインストールする方が簡単です。
以前は、次のコマンドを実行できました。
Components.classes["@mozilla.org/browser/nav-history-service;1"].getService(Components.interfaces.nsPIPlacesDatabase).DBConnection.executeSimpleSQL("VACUUM");
「エラーコンソール」でデータベースをバキュームしますが、Firefox3.6で動作するかどうかはわかりません。
素晴らしいバーは、履歴、ブックマーク、最近の検索用語(同じバーから)を照会するので、おそらくそこにたくさんのデータがあります。履歴を消去して(最近の履歴を保持したい場合は1か月前から)、検索履歴を空にしてみてください-3.5には、これに役立つツールがあります(設定した日付まで消去できます)。これにより、データが少ない場合にクエリ時間が短縮されます。
これは、ページの履歴がたくさんあるためです。たまに履歴をクリアすると、これに役立ちます。
SQLiteをお持ちの場合は、次のコマンドを実行できます。
echo 'DELETE FROM moz_historyvisits
WHERE visit_date < strftime("%s", "now", "-5 month") * 1000000; VACUUM;' |
sqlite3 places.sqlite
これは私にとっては問題なく機能します:
cd ~/.mozilla/firefox/????????.default
echo "VACUUM;" | sqlite3 places.sqlite
アイデアは、提案されているように、places.sqlite
のみを掃除機で掃除することです。
Linuxでは、 tmpfsを使用してファイルシステムの一部をメモリにマウントする 。 (皮肉なことに、もちろん、SQLiteの最高の機能の1つは、データベース全体を最初にメモリに格納する機能です。)
ウィキペディアは、Windows用のtmpfsの 代替 を提案していますが、詳細には触れておらず、ややハッキーな感じがします。 YMMV。
Places Maintenance 拡張機能には、Firefoxデータベースファイルの簡単なバキューム(最適化)を可能にするUIがあり、これにより、 AwesomeBarおよびその他のFirefoxデータベースへのアクセス。また、他のFirefoxデータベースメンテナンス機能もあります。
Firefoxの背後にあるプレイス、ブックマーク、履歴モジュールを駆動するデータベースでメンテナンスタスクを実行できます。