チップス
WordPress のデータが多くなったので ある日付以前のデータを削除する
WordPress のブログに毎日投稿しているとデータが多くなりすぎるので、今回は2010年12月31日以前のデータを削除する事にしました。
WordPress の投稿記事は テーブル xx_posts に書かれているので、テーブル xx_posts(datetime型) から 2011年1月1日より古い日付のデータを削除します。
delete from XX_posts where post_date < '2011-01-01';
この sql だと固定ページも削除してしまうので、固定ページは削除せず、投稿記事のみ削除する場合は
delete from XX_posts where `post_type`='post' AND `past_date`<'211-01-01';
(* 固定記事は post_type='page' 投稿記事は post_type="post')
wp_postmeta も関係ありそうなので、post_id をキーにして、不用なデータを削除します。
delete from XX_postmeta where post_id < 99999;
私が公開している WordPress のページはコメントを受け付けていないので、これだけの作業でいいですが、コメントを受け付けている場合は、プログラムを作る必要があるかもしれません。
本来なら wp_delete_post() を使うべきかも?
参考になったURL
WordPress Performance Tips for Big Sites
wp_delete_post