2026年9月20日
2026年9月20日
WordPressのpost_metaテーブルが肥大化する問題
はじめに
ワードプレスを使用していると、サイトの成長とともにpost_metaテーブルが肥大化することがあります。これは、プラグインやカスタムフィールドによって大量のメタデータが追加されるためです。
症状・背景
- パフォーマンス低下
- クエリ遅延
- フロントエンドでの表示速度低下
- バックアップファイルサイズ増大
手順・設定方法
ステップ1: post_Metaデータの一覧取得
# post_metaテーブル内の全てのデータを一覧表示します。
mysql -u ユーザ名 -p wordpress_db_name -e "SELECT * FROM wp_postmeta LIMIT 0,30;"
ステップ2: 不要なpost_Metaデータの削除
# 特定のキーを持つ全てのレコードを削除します。この例では'_transient_'というキーを持つレコードが対象です。
mysql -u ユーザ名 -p wordpress_db_name -e "DELETE FROM wp_postmeta WHERE meta_key LIKE '_transient_%';"
ステップ3: post_Metaテーブルのサイズを確認
# DB内でのpost_metaテーブルの現在のサイズを取得します。
mysql -u ユーザ名 -p wordpress_db_name -e "SELECT table_name, round(((data_length + index_length) / 1024 / 1024), 2) AS 'Size in MB' FROM information_schema.tables WHERE table_name = 'wp_postmeta';"
ステップ4: フロントエンドパフォーマンスの確認
# WordPressサイトのフロントエンドパフォーマンスを監視します。
curl -X GET "https://your-wordpress-site.com/wp-json/wc/v3/products?consumer_key=ck_your_consumer_key&consumer_secret=cs_your_consumer_secret"
注意事項
- 削除の際のバックアップ: データを削除する前に必ずデータベースのバックアップを取りましょう。
- プラグインによる影響: 特定のキーを削除する際は、それに関連するプラグインがどのように動作するか確認しましょう。
- セキュリティ上の注意: パブリックAPIを使用する場合には、適切な認証情報を管理してください。
- パフォーマンス/運用上の注意: post_Metaテーブルのサイズを定期的に監視し、必要に応じてデータクリーニングを行いましょう。
まとめ
1. データの一覧取得: データベースからpost_metaテーブル内のデータを確認する。
2. 不要なデータの削除: 特定のキーを持つレコードを削除することで、テーブルサイズを軽減します。
3. テーブルサイズの確認: post_metaテーブルの現在のサイズを定期的にチェックし、必要に応じて管理を行います。
4. フロントエンドパフォーマンスの監視: フロントエンドでの表示速度を確認し、適切なアクションを取ります。
5. バックアップと保守: 重要なデータは定期的にバックアップを取り、テーブルの管理を行うことでサイトの安定稼働を保ちましょう。
関連記事: