ムーバブルタイプ(MovableType)

MTのデータベースは圧縮すれば動きが軽快になる(MT4でsqliteの場合)

この記事は約2分で読めます。

Tksqliteムーバブルタイプ(movabletype、通称MT)の最新バージョンは5.0xだが、現役MTはバージョン4.xが多い。さらにMT4はデータベースが選択できるため、mysqlではなくsqliteを使用している例も多い。「MTOSで行こう!」ではMTOS4のカスタマイズデータを無料提供しているがデータベースはsqliteである。sqliteを選択するもっとも大きな理由は「早さ」だ。再構築速度が早い。通常の動きもサクサク動く。ただし、データベースは使用する度にどんどん大きくなるためだんだん遅くなっていく。その解決方法を発見した。

sqliteのデータベースにはログ情報やスパムのコメントやトラックバックなども含まれるが、実は記事よりもそれらのログ情報が多かったりする。ログ情報は削除しても動作には問題ないので削除してもよい。

しかし、ログ情報を削除してもsqliteのデータベースのファイルサイズは変わらない。SQLiteのデータベースはログ情報を削除しても非使用領域が残り、データベースのサイズが小さくならない仕様になっているからだ。

そこで使えるのが「tksqlite」というフリーソフトだ。
Tksqliteのvacuum画面
tksqliteにはsqliteのデータベースの不要部分を取り除き、ファイルを圧縮する「vacuum」という機能がある。

tksqliteのvacuum機能を使ってみたところ、ドモドモコーポレーションのsqliteのデータベースが55MBから15MBへと激減した。なんと40MBのダイエット効果!

データベースはFTPでダウンロードし、tksqliteのvacuum機能でダイエットし、その後またFTPでアップロードする。

いずれの工程でもバックアップをとり慎重に作業する必要があるが、手順そのものはシンプル。

vacuumの実行
vacuum操作は簡単。上記のようにメニューから「データベース」から「vacuum」を選択すると、左の確認画面がでるので「OK」をクリックするだけ。数秒後にデータベースのファイルサイズが小さくなる。長く使っているデータベースほど効果がでる。

これで軽快な動きになった。MT4でsqliteを長く使っている方にはおすすめの対策。