优化清理WordPress数据库wp_options表

提醒:本文最后更新于 2649 天前,文中所描述的信息可能已发生改变,请仔细核实。

       虽然我一直用着WP-Optimize这个插件,但是毕竟术业有专攻,它优化的所有表,对于wp_options表来优化的力度十分之小,wp_options表是WordPress中最重要的表,一切程序设置、主题设置和绝大多数插件的设置大都保存在此表。在使用WordPress的过程中,必定会大量安装使用各种插件体验,直到一段时间之后才会开始稳定的固定使用几款插件。无用的插件虽然被删除掉了,但是其保存在的数据库中的设置却没有被删除(许多插件的作者没有提供删除自身添加的数据库数据的功能或彻底反安装的功能),都很容易造成wp_options表的产生大量垃圾数据,这不仅占据了大量的数据库空间,还使数据库查询的效率降低。
       很多时候我们都已经忘记了我们使用了什么插件,或者知道大概的一些,但是一个一个在数据库里慢慢看,实在是受不了,少好行,像我的博客用过了40多个插件,目前在用有14个(几个是辅助优化类的,不影响博客访问速度)。我很难有什么心情去PHPMyAdmin中确定相关的条目,删除它们。


       在此我推荐Clean Options就是这款专门用来清理数据库冗余数据的插件,相信很多人也听说过它的威力,早期的版本可能因为不够成熟,会误删除一些数据,导致Wordpress出错。现在它的功能已经更加完善,在删除前会让你检视数据,并提供搜索功能,让你根据数据库资料名称到网络上查看这是属于哪里的设定,看看之后再决定是否删除。基本上,Clean Options已经把系统的数据库全部保护起来了,剩下的就是非预设值的部分,大家可以在使用前先备份一下数据库。
       Clean  Options可以在WordPress后台的安装插件,寻找并安装。
       在左侧菜单列表中点击【工具】,可以找到【Clean Options】。在默认设置下,点击"寻找孤立的选项"(开始查询)。
       插件后台图片如下(这是已经优化后截的图,剩余168,原400+项):

        查询之后会列出一些孤立的选项值,如果不晓得是哪一个插件所创建的选项值,点击超链接就可以在Google查询是哪一个插件,得知哪一个插件后,可以把选项勾起来,之后点击查看选中的设置选项信息。
        建议大家还是仔细看看为妙,我有一些是不删的,就不勾,留着,如下:

放心,即便是这边勾选并点击之后,也并不会删除数据,它会要你先看看这些选项的信息。

看过这些选项信息后,或许会帮助你想起一些插件,如果确定没问题,下方勾选"确定从 wp_options 里删除这些设置。"并点击提交按钮就可以清除这些无用信息了,一旦清理就无法挽回了,所以操作之前要先进行数据库备份。

然后,我们就会看到冗余数据被删除了。还是再次提醒,事先要进行数据库备份,这是一定要做的工作。以防万一操作有误,造成不必要后果。


另外,还有一个东东,使得wp_options表变得庞大的重要原因:无用的RSS Feed Cache。如果你在wp_options表中发现了大量option_name以“_transient”开头的数据,那就是它没跑了。先说说这玩意儿是干嘛用的,这玩意就是WordPress程序中引入RSS Feed后产生的缓存,在表中的表现主要有这三种:

正常的WordPress使用过程中,会不断产生这些数据,久而久之,就非常之庞大了。
这时就要定时清理一下,优化也很简单,在PHPMyAdmin中的wp_options表,执行下面sql语句即可:

DELETE FROM wp_options WHERE option_name REGEXP "_transient_"

        做完上面的结果,是wp_options体积极速缩小(正常新装的Wordpress中wp_options起码有120项是自身的)。我在做之前是400+项,我的db.sql.gz备份大小是436kb,优化后,剩余168项,db.sql.gz的备份大小是:320kb,当然啦,db.sql.gz是存在其他表的。能缩小100kb,也算是个不小的进步啦。

转载请注明转自:kn007的个人博客的《优化清理WordPress数据库wp_options表