F.Ko-Jiの「一秒後は未来」

スパムで肥大化したMTのSQLiteファイルの領域をVACUUMで整理する

Movable Type(MT)のデータベースにSQLiteを利用しているのですが、SQLiteではデータを削除してもVACUUMを実行しない限りファイル容量は減らないということを知りました。

つまり、迷惑コメントや迷惑トラックバックに振り分けられたデータを削除しても、SQLiteのデータサイズは変化しないということになり、次第にデータベースサイズが肥大化してパフォーマンスに影響が出るかもしれないのです。

そこでSQLiteでVACUUMする方法を探してみると、「NOBODY:PLACE – MUTTER: SQLiteのサイズを小さくする。」にてTkSQLiteというフリーのツールが紹介されていました。これにSQLiteのデータベースファイルをインポートしてVACUUMすると簡単なようです。

TkSQLiteでVACUUMしてみる

まずTkSQLite – mynoteのDownloadからzipファイルをダウンロードします。

tksqlite-download

ダウンロードしたzipファイルを解凍すると、tksqlite.exeがあるので実行します。

tksqlite-exe

アプリケーションの外観はこんな感じです。ファイルメニューから処理したいSQLiteデータベースファイルを開いてください。

tksqlite-window

VACUUMを実行するには、データベースメニューの「VACUUM」を実行します。

tksqlite-vacuum1.gif

確認ダイアログが出るので「OK」を押せばVACUUMされます。

tksqlite-vacuum2.gif

これだけでOKです。

このブログの場合、VACUUM前に5.3MBだったファイルサイズが3.6MBまで減少しました。スパム多すぎ。

関連エントリー

generated by 関連エントリーリストジェネレータ

コメントを残す

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

著者について

fkoji

F.Ko-Ji

Webエンジニアやってます。最近は ドットインストール の開発がお仕事です。その傍ら、個人で Meity電車遅延なう梅酒.in#グラドル自画撮り部 の部室といったネットサービスを開発・運営してます。梅酒と草野球とリアル脱出ゲームが好きです。

» 詳しいプロフィールや運営サービスの一覧など