egg

sein / 2008.08.21 / 1:34 am

清理 wordpress 数据表之 WP_Options 25+

清理 wordpress 数据表之 WP_Options | Jandan.net
在 PMA 里发现煎蛋的 wp_options 数据表竟然达到惊人的 3.1MB,太不正常了。略去考证过程,发现罪魁祸首是 option_name 为 rss_xxxxxxxxxxxxxx(一长串字母和数字) 的上百个值,内容都是超长文本,随便统计了其中一个就包含30w个字符。这样下去数据库要疯了……

注意到其中开头都包含关键字 MagpieRSS,搜索后发现很多新版 wp 用户有类似困扰:magpieRSS 让 wp_options 表不停膨胀。为什么会这样?注意到新版 wordpress 后台显示的 incoming links 等贴心 widgets 吧,这个看似方便的功能就是数据库疯狂增肥的魁首。相信很多人看到它们会很愤怒,然后花费数小时来删除这些垃圾表(注:快速删除这些垃圾可以在 PMA 中搜索WP_Options,关键字为 rss_ ,删除后优化表即可)。

如何解决?我看到官方讨论区有人在说这个问题,目前看来比较妥善的修改方式是:

1、眼不见为净。在 /wp-admin/index.php 中第一段 script 注释掉/删掉。大约第10行,
<script type="text/javascript"> …… </script> 这一部分。

2、干掉缓存。文章说在 wp-config.php 中用 MAGPIE_CACHE_ON 可以搞定,应该怎么写?官方文档没有相关说明。
我猜测是 define('MAGPIE_CACHE_ON', false); 随后在这个文件中看到:
define('MAGPIE_CACHE_ON', 0); 则不缓存 magpie RSS(改为1则缓存)

其中还提到修改缓存时间的定义是 define('MAGPIE_CACHE_AGE', 60*60); 单位为秒。

这样是否正确我不能确定,望 wp 达人出来验证。

# 再啰嗦一句:wp 2.4 之后的版本都是垃圾。

本文有 25 篇评论

  1. 1 Amorak Amorak 说 :
    2008.08.21 2:12 am
    avatar

    沙发~!@!~
    我激动啊~!
    第一个登上火星的·!~!~!·

  2. 2 Amorak Amorak 说 :
    2008.08.21 2:13 am
    avatar

    o!
    WP很好很强大,但是俺还没研究过。
    到底是老鸟啊~!

  3. 3 Mao Mao 说 :
    2008.08.21 2:45 am
    avatar

    2.4?什么时候的事?

  4. 4 呀! 呀! 说 :
    2008.08.21 2:52 am
    avatar

    煎蛋都不睡觉么,真可怕。。

  5. 5 Jason Jason 说 :
    2008.08.21 7:02 am
    avatar

    @呀!:以简单编辑们的作息习惯及地域分布,24小时值守估计都不成问题 lol

  6. 6 oioi oioi 说 :
    2008.08.21 8:46 am
    avatar

    果然修改幅度比较大- -

    @Jason: !

  7. 7 Jason Jason 说 :
    2008.08.21 9:09 am
    avatar

    @oioi:是说不成问题,并不是说要这么做…… 呵呵 别忘了煎蛋还有海外编辑部 lol

  8. 8 Yacca Yacca 说 :
    2008.08.21 9:25 am
    avatar

    懒得清理了...后台很少登陆...^^

  9. 9 shamas shamas 说 :
    2008.08.21 9:56 am
    avatar

    我用的2.6,后台早优化过了,所以去数据库查看了下只有十条左右,删了

  10. 10 finian finian 说 :
    2008.08.21 11:09 am
    avatar

    both define('MAGPIE_CACHE_ON', false) and define('MAGPIE_CACHE_ON', 0) are ok

  11. 11 Geedr.com Geedr.com 说 :
    2008.08.21 11:18 am
    avatar

    WP 2.3飘过

  12. 12 sein sein 说 :
    2008.08.21 11:18 am
    avatar

    @finian: thx~

  13. 13 Donald Donald 说 :
    2008.08.21 11:58 am
    avatar

    - -|||让我回到2.4吧~唉~~

  14. 14 村姑 村姑 说 :
    2008.08.21 12:02 pm
    avatar

    顶sein最后啰嗦的那句!!!!

  15. 15 echo echo 说 :
    2008.08.21 12:09 pm
    avatar

    @呀!: 恩 昨天sein robot值班

  16. 16 Donald Donald 说 :
    2008.08.21 12:33 pm
    avatar

    啊,我看了一眼我的数据库,同样,也是“惊人的”3.X M.....

  17. 17 sein sein 说 :
    2008.08.21 1:39 pm
    avatar

    @Donald: 3MB 可以放3000篇文章了- -

  18. 18 Jinwen Jinwen 说 :
    2008.08.21 9:13 pm
    avatar

    我的上段时间到了11M,终于没办法,只有手工删除。唉……

  19. 19 Donald Donald 说 :
    2008.08.22 12:00 pm
    avatar

    恩,整个数据库中就那个WP_Options最醒目。硕大...其他都是几十几百K的样子...

  20. 20 Dianso Dianso 说 :
    2008.08.22 1:17 pm
    avatar

    好东西

  21. 21 mitelika mitelika 说 :
    2008.08.22 1:42 pm
    avatar

    确实啊,所以到现在都还在用2.3

  22. 22 Shawn Shawn 说 :
    2008.08.23 3:12 pm
    avatar

    WordPress Clean Options Plugin是一个非常好的wordpress数据库清理插件,可以试试,一并清除所有的冗余表。

  23. 23 随影 随影 说 :
    2009.06.24 9:00 am
    avatar

    应当注明是2.7 以前版本吧!!

  24. 24 Chong.Freeman Chong.Freeman 说 :
    2009.08.18 1:24 am
    avatar

    煎蛋??
    刚把wp_options表删了,然后在PMA导入一个全新wp博客的wp_options表,再进后台,设置……

    其实可以试试插件的。

  25. 25 exia exia 说 :
    2009.10.30 1:34 pm
    avatar

    我都升到2.8.5了,岂不是很囧

发表你的意见