(实战)怎样优化wordpress的数据库

      当然,这个优化也是得益于网络上的类似文章,但是我这里都是自己刚才的亲身经历,所以也是相当具有参考价值的。现在开始谈谈我的具体操作过程。

一、删除多余的表

      在所有的开始之前,请你先备份你的数据库及网站资料,以便优化有问题时恢复。

      登录我们的 phpMyAdmin ,可以看到很多的表,对于 wordpress 3.1.2 来说,基本的有11个,其余的都是后来产生的。那么怎么判断哪些表是多余的呢?

      最好的办法就是在我们本地电脑上安装一个相同版本的 wordpress,并只安装你网站上使用的主题及插件,并且按照网站上的情况,相应的设置本地的各项设置。

      设置完成以后,你看到本地有多少表,你就知道了你网站上那些是多余的表了,这时你就可以删除这些表了。

二、简单的优化方法

      使用 phpMyAdmin 里面的优化选项来优化,那是最简单,最常见的方法。

      其次还可以利用第三方的插件或软件来进行优化。

      例如,使用帝国备份王,我第一次简单优化了一下,就效果显著,使我的网站第一次打开的速度由15秒加快到12秒,加快了3秒。也可以使用 WP-Optimize 这个 wordpress 插件来优化你的数据库,效果也不错,在我的机器上,帝国备份王优化过后,它还能优化一些。

三、高级优化方法 —— 优化部分表里的内容

      以下内容(所说的表头 wp_ 可能因为你更改了默认的而有所不同,请注意矫正,我叙述上还是这么说吧)参考了下文:WordPress优化系列之“清理数据库”

1、清理 wp-commentmeta 表
      WordPress现在已经发展到了3.1.2版本,在2.9版本之前,这个表完全不存在。先来看看它的内容,浏览表结构可以发现其为akismet_history、akismet_result、akismet_as_submitted等,很显然,这个是WP官方推荐的反垃圾评论插件Akismet所生成的,其值的作用是记录管理员用户对垃圾评论的处理结果以及插件自动判断某条评论是否为垃圾评论的相关记录。经过实验,清空这个表对WP程序完全没有任何影响。在MySQL管理器也就是phpMyAdmin里面输入下面简单的命令即可清除。 建议留言比较多而且又启用了Akismet插件的用户每隔一段时间就清理一次这个表。原作者100多M的数据库,在这里就减少了50多M!我的网站上此项优化减少空间10%还强。

TRUNCATE TABLE `wp_commentmeta`

2、清理 Revision Post(日志修订)

      Revision Post 是 WordPress 在2.6版之后加入自动保存日志修订版造成的,您每修改一次日志,就会增加一个 revision , 如果您修改多次,数篇日志之后,这将是一个很可怕的数量!您如果有上百篇的日志,您的冗余 revisiong 可能会有上千篇之多!

      我们推荐使用一个简单好用的插件来清理:Delete-revision,中文的,你照着操作即可。这里就不啰嗦了。我的网站上此项优化减少空间10%。

      然后关闭日志的自动保存及版本续订功能,具体的操作见本站文章:取消WordPress的自动保存和日志修订版本功能的最新方法

3、清理wp_options
      有人说这个要很专家级的人物才可以优化,一般人不建议优化。然而当你知道了它是做什么的时候,几乎大多数人也是可以优化了。

      此表用来存储WP设置等相关的信息,如地址、插件设置等等。但是因为各位的“折腾”,这个表会因为频繁的尝试安装、禁用各种插件变得臃肿不堪。十分影响数据库运行速度。

      我的方法是,将刚才在本地设置好的网站数据库,修改一下里面的域名信息。方法就是使用 phpMyAdmin 打开wp_options,将里面的第“1”行和第“37”行(你的不是也会在附近)里面的“localhost”改为自己的域名,例如我的是 www.lucktu.com (这个过程相当于你更换了域名)。然后备份本地刚改好的这个wp_options数据表,再上传到你的网站上去,清空原来的wp_options数据表,恢复刚才上传的这个表即可。我是使用的“帝国备份王”来完成的,你也可以尝试用 phpMyAdmin 的导入、导出这一个表(wp_options)试试。经过这样的优化,又减少空间10%。

      此方法具有一定的危险性,因为稍不小心就会将本地网站与网上的真实站搞混,而且可能由于你没有改好数据库的原因,本来最初登录的是本地站,结果一登录就自动转到真实站上去了(数据库没改好)。所以没睡醒的先去睡好了再说吧,或者把备份做好了再做,否则悔之晚矣!!

4、清理wp_postmeta

      可能有很多东西你想保存到你的一些日志中,例如你写日志时候的心情 ,你当时听的歌曲,你所处的地理位置,一些相关日志的列表,特定为搜索引擎指定日志信息等等。所以这些东西都会保存到wp_postmeta 这个表中。关于这个表的清理可以借助插件WP-Cleanup完成。执行下列相关的MySQL指令则可以进一步的清理出无用的数据。此项我的网站免疫,效果不明显。

DELETE FROM wp_postmeta WHERE meta_key = '_edit_lock';
DELETE FROM wp_postmeta WHERE meta_key = '_edit_last';
DELETE FROM wp_postmeta WHERE meta_key = '_revision-control';

      本文是对本站文章“我对“优化WordPress,提高wordpress运行速度的方法”的实践”的深入。

      经过前后的折腾,我原来的数据库大小减少了1/3还要多,网站的打开速度也快了至少3秒。


83.33%(5)

16.67%(1)
发表评论?

4 条评论。

  1. 看着好复杂,不敢动手,用来3个月了,一直不敢做什么优化

  2. 还有这么多方法啊,,我一直都是隔段时间phpMyAdmin里优化下。。。

    • 是啊,我也是学习再实践来的,以前基本没用过,自从搬家到godaddy后,重视速度了才找出来的。

回复给 漠北 ¬
取消回复

*