← リビジョン削除の全体像 | WordPress プラグイン一覧 | ブログ
最終更新: 2026年7月12日 | 執筆: Takahiro Nishii
結論: リビジョンなどを削除しても、データベースのファイルには使われない「隙間」が残ります。これを詰めて実サイズを縮めるのが
OPTIMIZE TABLE(最適化)です。phpMyAdmin の「テーブルを最適化する」から実行でき、削除→最適化の順で行うと効果がはっきり出ます。実行前のバックアップは必須です。
リビジョンを大量に削除したのに、DB のサイズが思ったほど減らない。最初はそれが不思議でした。調べてわかったのは、行を消してもファイル上には空き領域が残るということ。OPTIMIZE をかけて初めて、実サイズがすっと縮んだのです。
なぜ削除だけでは軽くならない?
MySQL / MariaDB は、行を削除しても物理ファイルをすぐには詰めません。削除された分は再利用可能な空き領域(オーバーヘッド)として残ります。次の書き込みで使い回されますが、それまではファイルサイズに含まれたままです。
だから、リビジョンを削除した直後は「行数は減ったのにサイズは大きいまま」という状態になります。ここで最適化が効きます。
OPTIMIZE TABLE とは?
OPTIMIZE TABLE は、テーブルの空き領域を詰めてファイルを再構成するコマンドです。断片化を解消し、インデックスも整理されます。phpMyAdmin なら SQL を書かずに実行できます。
OPTIMIZE TABLE wp_posts;
phpMyAdmin での手順は?
- バックアップを取る(最優先。エクスポートで丸ごと保存)
- 対象データベースを開き、テーブル一覧を表示
wp_postsなど対象にチェック- 下部のプルダウンから「テーブルを最適化する」を選択
- 「オーバーヘッド」の数値が減れば成功
アクセスが集中する時間帯は避け、できれば低負荷の時間に実行してください。大きなテーブルでは一時的にロックがかかります。
プラグインなら安全に一括で
phpMyAdmin に不慣れなら、削除とテーブルチェックをまとめて行えるプラグインが安心です。Takahiro Revision Cleanup は、リビジョン削除に加えて CHECK TABLE でテーブルの状態を確認でき、直接 SQL を書かずに一連の作業を進められます。
よくある質問
OPTIMIZE TABLE でデータは消える?
いいえ。空き領域を詰める処理で、行データ自体は保持されます。ただし念のため実行前のバックアップは必須です。
InnoDB でも効果はある?
InnoDB では内部的にテーブル再構築が行われ、断片化の解消に有効です。大きなテーブルでは時間とロックに注意してください。
どのくらいの頻度でやるべき?
毎日は不要です。リビジョンをまとめて削除した後など、大量に行を消したタイミングで実行すれば十分です。
