WordPressのデータベースを安全に最適化する手順【OPTIMIZE TABLE】

← リビジョン削除の全体像WordPress プラグイン一覧ブログ

最終更新: 2026年7月12日 | 執筆: Takahiro Nishii

結論: リビジョンなどを削除しても、データベースのファイルには使われない「隙間」が残ります。これを詰めて実サイズを縮めるのが OPTIMIZE TABLE(最適化)です。phpMyAdmin の「テーブルを最適化する」から実行でき、削除→最適化の順で行うと効果がはっきり出ます。実行前のバックアップは必須です。
リビジョンを大量に削除したのに、DB のサイズが思ったほど減らない。最初はそれが不思議でした。調べてわかったのは、行を消してもファイル上には空き領域が残るということ。OPTIMIZE をかけて初めて、実サイズがすっと縮んだのです。

なぜ削除だけでは軽くならない?

MySQL / MariaDB は、行を削除しても物理ファイルをすぐには詰めません。削除された分は再利用可能な空き領域(オーバーヘッド)として残ります。次の書き込みで使い回されますが、それまではファイルサイズに含まれたままです。

だから、リビジョンを削除した直後は「行数は減ったのにサイズは大きいまま」という状態になります。ここで最適化が効きます。

OPTIMIZE TABLE とは?

OPTIMIZE TABLE は、テーブルの空き領域を詰めてファイルを再構成するコマンドです。断片化を解消し、インデックスも整理されます。phpMyAdmin なら SQL を書かずに実行できます。

OPTIMIZE TABLE wp_posts;

phpMyAdmin での手順は?

  1. バックアップを取る(最優先。エクスポートで丸ごと保存)
  2. 対象データベースを開き、テーブル一覧を表示
  3. wp_posts など対象にチェック
  4. 下部のプルダウンから「テーブルを最適化する」を選択
  5. 「オーバーヘッド」の数値が減れば成功

アクセスが集中する時間帯は避け、できれば低負荷の時間に実行してください。大きなテーブルでは一時的にロックがかかります。

テーブルのチェック・最適化結果を表示する画面のイメージ
削除後にテーブルの状態を確認してから最適化(イメージ)

削除からチェックまでプラグインで完結

WordPress.org で無料ダウンロード 安全な削除手順を見る

プラグインなら安全に一括で

phpMyAdmin に不慣れなら、削除とテーブルチェックをまとめて行えるプラグインが安心です。Takahiro Revision Cleanup は、リビジョン削除に加えて CHECK TABLE でテーブルの状態を確認でき、直接 SQL を書かずに一連の作業を進められます。

よくある質問

OPTIMIZE TABLE でデータは消える?

いいえ。空き領域を詰める処理で、行データ自体は保持されます。ただし念のため実行前のバックアップは必須です。

InnoDB でも効果はある?

InnoDB では内部的にテーブル再構築が行われ、断片化の解消に有効です。大きなテーブルでは時間とロックに注意してください。

どのくらいの頻度でやるべき?

毎日は不要です。リビジョンをまとめて削除した後など、大量に行を消したタイミングで実行すれば十分です。