スパムで肥大化した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ファイルをダウンロードします。
ダウンロードしたzipファイルを解凍すると、tksqlite.exeがあるので実行します。
アプリケーションの外観はこんな感じです。ファイルメニューから処理したいSQLiteデータベースファイルを開いてください。
VACUUMを実行するには、データベースメニューの「VACUUM」を実行します。
確認ダイアログが出るので「OK」を押せばVACUUMされます。
これだけでOKです。
このブログの場合、VACUUM前に5.3MBだったファイルサイズが3.6MBまで減少しました。スパム多すぎ。
コメントを残す