马上就加载好了...

清理WordPress自动保存和修订版本生成的冗余数据

by on Apr 30 , 2012 , under 学术 , 582 views , 1 Comment

又到了数据库备份的时刻,这次我将数据库直接备份到本地,却发现数据库文件比上次大了很多,而在此期间我并没有写很多文章。结果发现有一篇文章在写的时候自动保存了n多次,生成了很多垃圾冗余数据,于是乎,找了办法让数据库瘦身,好爽啊!

也许WordPress的工程师并没有想到,自动保存和修订版本这两个功能确实非常有用,可以防止突然断网、断电所导致的文章丢失,甚至可以将文章回到任意一个修订版本,然而,对于我这种博主来说,过去几百篇文章的各种版本并不需要保存下来,因为花费了太多的数据库资源(毫不夸张地说,自动保存和修订版本的冗余数据占据了整个WordPress数据库的三分之二,甚至更多),在清理之前我的WordPress数据库就充满了垃圾冗余数据,进phpMyAdmin看着讨厌不说,还把数据库搞的臃肿不堪,极大影响SQL查询的效率,每篇文章的版本多达2-5个!

WordPress本身并不提供关闭自动保存和修订版本的功能,而我也确实不想关闭这两个功能,因为这两个功能对于新文章或者正在写的文章来说确实非常有用,可以保证文章的安全性,所以我决定定期为数据库瘦身,找了两种方法介绍给大家。

方法一:SQL直接删除冗余数据

进入你的phpMyAdmin,执行以下SQL语句直接将以上谈到的冗余数据删除,切记要在执行语句前备份你的数据库。

DELETE FROM wp_posts WHERE post_type = ‘revision’

这句SQL语句的句型是 DELETE FROM 博文表名称 WHERE 博文类型 = ‘revision’ ,大家可以根据自己的数据库执行语句,如果没有动过WordPress数据库,那只要执行默认的SQL就可以了,如果想查看一下冗余数据有多少的话,可以执行以下语句:

SELECT * FROM wp_posts WHERE post_type = ‘revision’

规则同上,如果冗余数据很多的话,那就建议清理了。

方法二:安装Delete-Revision插件

对于不想直接操作数据库又不反感安装更多插件的朋友来说,这里也有一个非常不错的选择,那就是Delete-Revision

在WordPress后台直接添加这个插件,或将插件压缩包解压后存放于/wp-content/plugins/目录下即可,安装完毕后就可以打开这个插件,在插件中会显示当前你的总文章数和所生成的冗余文章数。

除此之外,你还可以查看到自动保存的文章数、草稿文章数、页面数、回收站文章数等,可以自行选择删除所有草稿、所有自动保存文章等,功能还是比较强大的,并且也支持检测和优化数据库,对于新手博主来说无疑是个好消息。

方法三:关闭自动保存功能

此方法风险较大,不推荐新手博主使用,不过使用这个方法可以保证文章ID连续(因为自动保存和修订版本会占用新的ID)。再次提醒一下,这个方法将导致你的文章不会被自动保存,对于像我这种直接在WordPress后台写文章的人来说风险极大!

打开根目录下的wp-config.php文件,在<?php ?>中间添加下面代码:

/**
*关闭WordPress文章版本控制
*/
define(‘WP_POST_REVISIONS’, false);
define(‘AUTOSAVE_INTERVAL’, false);

网上还有很多彻底关闭WordPress自动保存的方法,在这里就不作介绍了。

 

沙发没了,但板凳还在!


赶快说点什么吧! ^_^