Mac で Firefox や SeaMonkey の sqlite ファイルを最適化

「なんか、FirefoxやSeaMonkeyが使い始めた時より重い!」
そんな時はSQLiteファイルの最適化を実行すると良いです。

 Firefox 3.0 以降、SeaMonkey 2.0 以降では様々な履歴を管理するために、内部でSQLiteというデータベースを利用しています。
そのため、たまに最適化する必要があります(Firefox 3.6以降では定期的に VACUUM する仕様になりました)。

*.sqliteファイルを最適化するには

などが使えるのですが、Firefox 3.5 以降(SeaMonkey 2.xも含む)のバージョンだったか cookie.sqlite をブラウザ起動中はロックするので、これらのアドオンでは cookie.sqlite を最適化出来ません。
 cookie.sqliteといえばCookieの管理をしている重要なデータベース。ゴミがたまり続けていくとCookieが壊れて「ログイン出来ない」 なんて事にもなりかねません。

で、sqliteコマンドを使ってMacで最適化する方法を書いてみます。
 なお、Windows でも SQLite Download Page から Windows 用の SQLite3 をダウンロードして、パスを通し、かつ Cygwin 上で実行すれば同じように実行できるはずです。

作業手順
(1)プログラムを終了します。
(2)ターミナルを起動して、プロファイルに移動して
$ cd …Profiles/*****.User
(3)sqliteファイルを探して
$ ls -l *.sqlite
-rw-r–r–@ 1 tooyama  wheel  246784  5 16 17:10 cookies.sqlite
-rw-r–r–@ 1 tooyama  wheel    2048  5 16 17:00 downloads.sqlite
-rw-r–r–@ 1 tooyama  wheel    6144  5 16 17:01 formhistory.sqlite
-rw-r–r–@ 1 tooyama  wheel    3072  5 16 17:01 permissions.sqlite
-rw-r–r–@ 1 tooyama  wheel  843776  5 16 17:09 places.sqlite
-rw-r–r–@ 1 tooyama  wheel   16384  5 16 17:01 signons.sqlite
-rw-r–r–@ 1 tooyama  wheel    4096  5 16 17:01 urlbarhistory.sqlite
-rw-r–r–@ 1 tooyama  wheel    3072  5 16 17:01 webappsstore.sqlite

(4)VACUUMを実行するsqliteファイルをバックアップ
$ cp cookies.sqlite cookies.sqlite.bak
(5)VACUUMを実行する
$ sqlite3 cookies.sqlite VACUUM
実行前
-rw-r–r–@ 1 tooyama  wheel  246784  5 16 17:10 cookies.sqlite
実行後
-rw-r–r–@ 1 tooyama  wheel   70656  5 16 17:15 cookies.sqlite
VACUUMしたことでゴミが削除され、ファイルサイズがサイズダウンしました。
 あとは実行して、正しく起動するか確認してみます。
ちなみに、この方法で他のsqliteファイルを最適化出来ますが、SQLite Optimizerを使う方法をお勧めします。

[5/23 追記]
この方法で、place.sqliteを最適化する場合、VACUUM した後、REINDEX を実行した方が良いらしいです。

広告
カテゴリー: OSS パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中