wp_postsが肥大化する原因はリビジョン|DBが重くなる仕組み

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

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

結論: wp_posts テーブルが肥大化する最大の原因はリビジョン(記事の過去版)です。投稿・固定ページはもちろん、リビジョンやオートセーブもすべて同じ wp_postspost_type = revision として積み上がります。記事本体より桁違いに多くなることも珍しくなく、まずは行数を確認してから減らすのが安全です。
phpMyAdmin で wp_posts を開いたとき、行数の多さに素直に驚きました。公開記事は数十本なのに、テーブルは数千行。中身を見ると、そのほとんどが revision だったのです。「見えない場所で静かに増えていた」。これがリビジョン肥大化の実態でした。

wp_posts には何が入っている?

wp_posts は名前こそ「posts」ですが、投稿記事だけのテーブルではありません。固定ページ、メニュー、添付ファイル、そしてリビジョンとオートセーブまで、あらゆるコンテンツが post_type で区別されて同居しています。

そのため、リビジョンが増えると wp_posts の行数がそのまま膨らみます。リビジョンとは何かは WordPressのリビジョンとは?で詳しく解説しています。

なぜリビジョンだけで肥大化するのか?

WordPress はデフォルトでリビジョン数に上限を設けていません。1記事を50回更新すれば、50件近い過去版が残ります。長文をこまめに手直しするサイトほど、記事1本あたりのリビジョンが積み上がり、本体の何十倍もの行数になります。

やっかいなのは、これらが管理画面の投稿一覧に出てこない点です。数字として見えないため、気づいたときにはかなりの量になっています。

今どれくらい溜まっているか確認するには?

phpMyAdmin なら次の SQL で件数を確認できます。

SELECT COUNT(*) FROM wp_posts WHERE post_type = 'revision';

ただし直接 SQL を叩くのに抵抗がある場合は、専用プラグインで件数と推定容量を安全に確認するのが手軽です。下は Takahiro Revision Cleanup の概要画面で、総数・推定容量・累計削除数がひと目で分かります。

wp_postsに溜まったリビジョンの総数と推定容量を表示する概要ダッシュボード
リビジョン総数と推定容量を可視化(Takahiro Revision Cleanup)

肥大化を放置するとどうなる?

  • バックアップが重くなる — 出力サイズと時間が増える。詳しくはバックアップが重い原因
  • 移行・復元に時間がかかる — サーバー移転時のインポートが遅くなる
  • 管理の見通しが悪くなる — phpMyAdmin での確認がしづらくなる

リビジョンの確認・削除は無料プラグインで

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

安全に減らすには?

削除自体はリビジョンレコードを消すだけで、公開記事には影響しません。ただし直接 DELETE は関連テーブルの取りこぼしや操作ミスのリスクがあります(phpMyAdminでの削除の危険性を参照)。バックアップ→プレビュー確認→削除→最適化、という流れが安全です。全体像は安全に削除する方法にまとめています。

よくある質問

リビジョンを消せば wp_posts は小さくなる?

行数は減ります。ただし削除後もデータファイルに「隙間」が残るため、OPTIMIZE TABLE で最適化すると実サイズも縮みます。

wp_posts が大きいと表示は遅くなる?

必ずしも直結しませんが、運用の重さとして効いてきます。詳しくは表示速度とDBの関係で解説しています。

これ以上増やさない方法は?

wp-config.phpWP_POST_REVISIONS を設定すると、今後の保存数を制限できます。