wordpress加速之数据库优化
郑永博客算起来也写了5年了,总共有752篇日志,7732条评论,写博期间,花了不少时间在博客调整管理和优化,对博客经常做的几件事情是,查看网站,进入后台,美化主题和编辑代码,离线发布,相信很多喜欢折腾的站长都是这样的。
但是不敢相信的是,在无数次优化网站的期间,没有一次有想过优化数据库,欠缺常识了,上次在启用新主题的时候,对本站的数据库做了一次备份,50m多的数据库我第一时间想到的原因是写博5年和大量的评论造成的,没多在意,但是在导入数据库到本地服务器的时候,却遇到了一个难题,因为数据太大,无法导入,当初我居然没有想到是不是数据库本身的原因,而是去寻找解决方法,修改了php.ini的最大限制和使用mysql命令导入,结果成功了,直到昨天无意间看见一篇wordpress数据库优化,才直到别人同样运行5,6年的博客,数据库也没有我这个大,我现在在想,我的数据库是不是全球wordpress最大的数据库呢?
那么正常的数据库应该是多大了?昨天经过优化,你猜是多少?25M ? 20M ? 10 M ?都不是,是3M多,压缩输出的话是2M多,难怪我那天导入大数据寻找方法的时候,人家最大的也就20多M,而且很少会有人埋怨wordpress导入的数据太大而烦恼,这个长期使用wordpress写博最终因为数据无法备份恢复的问题成为大笑话。
WordPress系统使用时间长了,数据库中的冗余数据就会很多,比如插件和后台缓存等等,定期优化和清理Wordpress的数据库,可以保证Wordpress能够快速工作。
好吧,现在你如果和我一样从未对wordpress的数据优化的话,那么赶紧去看看自己的数据库是不是快要爆炸了,如果是的话,你现在最关心的问题是如何优化数据库,不用担心,我已经总结好几篇优化数据的方法,现在你可以享受一下清理垃圾数据后那种舒服的感觉!如果你很享受那种感觉的话,那么推荐你经常清理数据库!
唠叨了一大堆,不用怕,wordpress数据库优化和清理方法会很简单的:
方法就是利用自己的数据库管理系统做自动的优化,最常用的应该就是phpMyAdmin了吧,在做wordpress数据库清理优化之前,先关闭两个制造垃圾的缓存功能,这两个功能没什么用处。
一个是删除RSS缓存(并关闭RSS缓存功能),另一个是删除自动保存缓存(并关闭自动缓存功能),那就是打开你的wp-config.php在下面配置里添加两行如下代码,就实现了禁用
define('MAGPIE_CACHE_ON', 0);
define('WP_POST_REVISIONS', 0);
关闭了以后,现在开始去phpMyAdmin清理缓存和垃圾了:
选择数据库,然后打开SQL命令:
DELETE FROM wp_posts WHERE post_type = 'revision';
DELETE FROM wp_postmeta WHERE meta_key = '_edit_lock';
DELETE FROM wp_postmeta WHERE meta_key = '_edit_last';
如果你有启用akime防垃圾评论插件的话,里面会多出一个wp_commentmeta表,通常都会有2m多数据,对这个表可以点击清空数据,如果评论很多,我推荐你使用多说评论插件。
接着,在phpMyAdmin中,选中所有表,点“优化表”。经过这一番优化操作,就可以将WordPress数据库中的冗余数据删除,优化了数据库的性能,到这一步,你可以备份一下数据库了,你会发现,你的数据库已经变得很小了。
另外:如果你的博客确定已经减少使用插件的话,那么你可以删除一些非系统的表,有些表是插件留下的,不过要了解清楚了再删除。
系统数据表有:
wp_comments
wp_links
wp_options
wp_postmeta
wp_posts
wp_term_relationships
wp_term_taxonomy
wp_terms
wp_usermeta
wp_users
我的是50M优化到只剩下3M,网站明显速度快了许多,之前因为网站速度慢而误会是主机空间问题,现在终于解决了,可见数据库的优化是多么重要,一定养成定期优化和备份数据库的习惯。
如果你对数据库优化方面还有兴趣的话,我推荐你也优化一下wordpress数据库查询次数,这个下次会提到。
上一篇:多米网页版音乐分享
下一篇:[转载]经典语录-语不惊人死不休
不错 我一直想搞缓存的 但是很多时候 缓存 我改模版不能实时的显示 让我很纠结
我的数据库不压缩的话有4.5MB,好像也该清理了。
呵呵,清理一下,绝对会少一半。
我的也有将近5M了。还真没注意过……
嗯,清理一下,一定会少一半的。
唉,我现在想的就是快点恢复权重。
现在权重多少?原来是多少? 我是1啊,好像也降了点。
有人说那权重是扯谈,官方根本没有算法,是他们自己根据收录情况出的,不过多多少少也能测出你的站在百度的权重。
50M,优化后只剩3M了??
安全吗?
当然安全啦, 呵呵
我那没你那么多文章,刚700出头,评论较多,不管怎么优化,不压缩都是30M左右,压缩后导入木有压力,当然我一般是直接命令导入,哈。
这两天后台数据又大了。。。看来好景不长啊,你的数据库 30M 700篇文章?我晕。。。那看来我昨天备份10M多sql一点都不要奇怪了,我以为数据又暴涨了。
好吧,我的评论数是接近6万……
太牛逼了,看来你那里用 多说 还是比较适合,哈哈。。不过多说那个插件不能完美整合,不燃本地可以节省评论的数据。
我不喜欢这类插件,是反感那种。
我也撤了。。
对了,看到你贴了代码,发现个问题,给个建议:贴代码注意标点符号的转义,不然很多新手会被搞得很惨,建议安装“Quotmarks Replacer”插件。
还有一个是数据库操作教程,最好在开始前强调先备份。
以前的主题是加了一段代码,使所有代码的中文符号转英文符号,自从换了这个主题,忘记对这个优化了,如果没记错的话是这个代码:remove_filter(‘the_content’, ‘wptexturize’); 但是我看了以前本站的代码,复制以后都是正常的啊,这次为什么无效了?难道是那段代码对新版本wordpress出问题?
你那个插件安装了还是不可以,只有手动修改了一下,我之前发文章大意了,以为自动会转换的。
你已经被转义存贮了,哪里还有作用?囧
我以为这个插件类似那段代码,可以直接在显示的时候转换,原来要发布的时候才可以转换的。
插件是防止转义
哦,是这样啊。
50M优化到3M ,您不会在此之前从未优化过?
没优化过,不过如果没有压缩的话,应该要8M多,因为文章部分就6.几M了。
怪不得呢,我现在没事儿就用插件捣鼓,就节省出百十来K而已。
我的数据库加压了也有2M!解压都10几M了
正解,我是压缩输出后才2M,解压8-10M多,呵呵。
我的数据库跟你比还算小 呵呵
牛x
在你这里头像不能显示?
刷新了才有
是的。
可以,很帅。
谢了,这个方法好。
50M变3M,这个还听可怕啊,看来很有必要啊