清理 wp_posts 表的解决办法

造成 wp_posts 表中数据冗余原因:
(1)在博主写文章的时候,系统会保存很多的中间状态(如修订版本、自动保存等),在文章发布之后其很多的中间状态没有被删除。

(2)点击“写文章”或“新建页面”时产生的,每点击一次就生成一条“自动草稿(auto draft)”的冗余数据。

清理 wp_posts 表的解决办法
进入 phpmyadmin或者mysql命令行模式选择对应的数据库,执行下面mysql语句即可:

-- 删除所有非发布状态帖子信息(只保留已经发布的状态的文章、菜单、页面)
DELETE FROM wp_posts WHERE NOT(post_status = 'publish' AND post_type IN('post','nav_menu_item','page'));
-- 删除全部文章修订版本及所对应的关联数据
DELETE a,b,c FROM wp_posts a
LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id) WHERE a.post_type = 'revision';
 
-- 删除自动保存草稿以及修订版本的文章
delete from wp_posts where (post_status='auto-draft' or post_status='inherit') and post_type='post';

 

 

© 版权声明
THE END
喜欢就支持一下吧
点赞4049 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容