WordPress速度优化系列之 清理数据库的方法

来源:本网整理

WordPress系统使用时间长了,数据库中的冗余数据就会很多,定期优化和清理Wordpress的数

s">

WordPress速度优化系列之 清理数据库的方法

作者:小残 字体:[增加 减小] 来源:互联网 时间:08-23 20:24:35 我要评论 今天这篇”WordPress速度优化系列之清理数据库,全部来源于之前对和邪社进行优化所得来的经验以及教训,以后还有其他相关的文章 "> 目前本站已经有300多篇日志和超过2000条评论,虽然数据量不是很多但是偶尔会出现,404或者是500亦或是502错误,甚至造成服务器宕机。

1、首先登录到phpmyadmin2、选择某个数据库,点:Sql3、运行下面的代码DEL

也就出现了今天这篇”WordPress速度优化系列之“清理数据库”,全部来源于之前对和邪社进行优化所得来的经验以及教训,以后还有其他相关的文章。

#1,若您的WordPress版本为2.3及以前,可采用如下方法令系统自动缓存内部调用函数,而完全不

通过上网搜索相关优化技巧和个人经验,造福各位博主,于是就有了今天大家看到的WordPress优化系列之“清理数据库”。

1、首先登录到phpmyadmin 2、选择某个数据库,点:Sql 3、运行下面的代码 DELETE

既然是WordPress优化系列,肯定有方方面面需要照顾到,比如选择正确的插件,减少数据库请求次数,如果最大限度的提升加载速度等等,我会尽量把方方面面需要说明清楚的内容都写出来。今天就先讲一下最容易也是最需要亟需解决的一个问题,那就是日益增长的数据库问题。

http://jingyan.baidu.com/article/8ebacdf012be2e49f

刚接触wordpress我对这方面的经验为零,完全的从零开始,甚至没有接触过linux或者是相关的一些技术,比如Nginx(Apache)的优化配置,数据库(MySQL)的理论知识以及相关的配置等等等等。只因从一台完全空白的服务器(仅有linux或者是Windows)到一个完整的WordPress博客是一个相当“艰巨”的过程。而这篇文章提到的内容肯定不可能非常完善,以后我会逐步的将其充实起来。

谢邀,这其实是个特别有意思的问题,有趣的想象空间特别大。认真的回答,我想养一匹马!这个不太切实际的想象其实早就有,那年看斯皮尔伯格的电影《战马》又被加强了。那匹脾气相当狂躁叫“乔伊”的小马驹,以奔跑的速度、张扬的个性和迷人的灵魂给征服了贫困农场家庭的儿子,形影不离人和马后来被战争被迫分开走上前线。“乔伊”随着征程,从一只单纯的坐骑,变成了一位非凡的英雄,用它纯真无害的天性、不带任何杂质的动机以及对自己的人类朋友无条件的奉献,感动了来自于这场战争的所有对立面的生命。乔伊是电影里是一匹灵性的马,聪明、善良,它与朋友黑马之间的“兄弟情”的细节很感人,乔伊在电影中的真情流露会让人感觉它不是一匹马,而是

目前小残博客有300多篇日志和超过2000条评论,可是MySQL数据库的总大小已经超过了250多MB,从上图可以看到和邪社的数据库大小已经到了250M(这个小残优化之前的截图,现在的数据库因为已经清理完毕,所以很小了)

又到了入手踝靴的季节了,筒志们你们激动嘛!此处应该配兴奋的搓搓手表情包,让我看到你们挥舞的双手~为什么大家对踝靴这么热爱,大概只有一个原因,因为它怀型啊!哪怕你穿最基本的T恤牛仔裤出门,只要选对一双适合自己的靴子,立马自信感倍升有没有!而且有的踝靴还能修饰腿型,显高显瘦,简直是秋冬季时尚星人大爱的一个单品!废话不多说,下面就为大家推荐几款这个秋季值得入手的踝靴。红了整整一年的袜靴在今年还将继续火下去,有巴黎世家经典的运动款袜靴,也有Gigi非常爱的这种粗跟袜靴,虽然这种靴子对小腿要求比较高,但是只要不是过胖或者过于肌肉腿,穿上它你绝对秒变时髦girl!而且Gigi经常穿的这双来自澳洲品牌Ton

这么“庞大”的数据库到底有多少有用呢?下面就开始一步步优化我们的数据库。

影视行业的迅速发展,导致许多国产剧,无论是服化道、配音、还是台词等,都有着诸多让观众无力吐槽地方,一些奇葩台词更是考验观众智商!林教头沉鱼落雁之容《水浒传》这部电视剧的口碑还不错,这一截图出自其中的一个镜头,满脸胡渣的这位男子是梁山好汉之一,他曾是坐拥八十万禁军鼎鼎大名的林冲“林教头”。当时看这部剧时,由于演员演技都在线,居然没留意到有这么一句雷人的台词,“林教头果然是沉鱼落雁之容”,林教头的容貌和沉鱼落雁是根本不搭边呀!我爷爷九岁的时候就被杀害了历史上抗日战争持续了八年之久,这场战争损耗不少人力物力,在战争期间,许多英勇战士为了新中国的胜利,不顾生命危险顽强抗战,战场上不幸牺牲的数不胜数。但

清理wp-commentmeta表

个人觉得,熊梓淇更适合这个角色。首先,宁泽涛是一名专业的国家级运动员,并不是演员出身!虽然,现在跨界的艺人很多,但是很多人是为了炒作,当然不包括这次讨论的宁泽涛,希望我们每个人都能在自己所喜欢的领域做到全身心投入,做出更好的成绩!当然我们也可以挑战自己,去大胆尝试!而熊梓淇,则是比较正宗的表演人员。出生于辽宁省铁岭市,中国内地影视男演员、流行乐歌手,毕业于上海音乐学院音乐剧系。2013年,担任东方卫视选秀娱乐节目《中国梦之声》全国总决赛的和音工作。小编觉得,两人只是在角色饰演上有些相似之处,但熊梓淇所饰演的唐一白给人们留下了比较好的印象,这样的结果也是无可替代的。希望他们二人都能在自己的领域里

WordPress现在已经发展到了3.1版本,而如果是从2.X系列就开始使用WP的用户则会发现数据库增长的比例跟文章发布的数量不成比例,原因当然有很多。

我们首先要清理的是wp_commentmeta这个表,在2.9版本之前,这个表完全不存在,先来看看它的内容,浏览表结构可以发现其为akismet_history、akismet_result、akismet_as_submitted等

很显然,这个是WP官方推荐的反垃圾评论插件Akismet所生成的,其值的作用是记录管理员用户对垃圾评论的处理结果以及插件自动判断某条评论是否为垃圾评论的相关记录。

(如果你没有安装这个Akismet插件)可以跳过这一步

如果你安装了AKismet那么只需要在MySQL管理器也就是phpMyAdmin里面输入一条简单的命令即可清除。进入数据库运行MySQL语句查询,

复制代码代码如下:

TRUNCATE TABLE `wp_commentmeta`

20141226055655

清理Revision Post(日志修订)

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

(此描述来自插件delete-Revision manager)这里我们使用一个简单好用的插件来清理,Delete-revision Manager(WP官方扩展链接),安装此插件后,运行该插件可以清楚的看到目前数据库里面所保存的日志修订。

PS:安装好插件清理成功后在修改修改wp-config.php文件:合适的位置插入这一行参数:

复制代码代码如下:

//取消自动修订版

define('WP_POST_REVISIONS',false);

彻底优化清理wp_options

wp_options表是用来存贮WP的设置方面的信息,如博客名、博客地址、基本设置、插件设置、主题设置…等。

关于这个表,如果你不是砖家级的人物,建议直接跳过,因为这个操作这个表的危险性比较大。此表用来存储WP设置相关的信息,如地址、插件设置等等。但是因为各位的“折腾”,这个表会因为频繁的尝试安装/禁用各种插件变得臃肿不堪。

(本站数据库259Mwp_options占用了248M)十分影响数据库运行速度。因危险性较大,我不做过多阐述

如果发现自己的博客中这个表也和小残博客一样这个表异常的大那么可以先备份数据库然后在清空wp_options表

最后本地搭建一个wordpress然后设置的网站标题后台密码插件设置后台设置全部设置为和自己的博客一模一样然后在导入wp_options表即可。

除非万不得已最好不要这样做,小残我也是被逼无奈。。。

清理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';

最终优化结果如上图从259M减少到14.4M,其中大部分占用的都拜wp_postmeta所赐

WordPress数据库相关的清理工作到此就告一段落,其他关于WordPress数据库的优化技巧也还有很多,牵扯到了系统底层方面以及需要借助插件完成。

关于这篇文章除了优化清理wp_options以为所涉及到的SQL语句基本不会出现什么问题

但是永远记住一句话:做好备份!只有做好备份工作才可以有备无患。

本文来自小残博客

扩展阅读,根据您访问的内容系统为您准备了以下内容,希望对您有帮助。

怎么清理优化wordpress数据库

使用数据库优化清理插件

wordpress百万级数据如何优化数据库

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。“总是在灾难发生后,才想起容灾的重要性。总是在吃过亏后,才记得曾经有人提醒过。”,所以此处列出一些MySQL的必要的优化和建议。

1. 核心类

♦ 不在数据库做计算,cpu计算务必移至业务层;

♦ 控制单表数据量,单表记录控制在千万级;

♦ 控制列数量,字段数控制在20以内;

♦ 平衡范式与冗余,为提高效率可以牺牲范式设计,冗余数据;

♦ 拒绝3B(big),大sql,大事务,大批量;

2. 字段类

♦ 用好数值类型

tinyint(1Byte)

smallint(2Byte)

mediumint(3Byte)

int(4Byte)

bigint(8Byte)

bad case:int(1)/int(11)

♦ 有些字符转化为数字

例如:用int而不是char(15)存储ip

♦ 优先使用enum或set

例如:sex enum (‘F’, ‘M’)

♦ 避免使用NULL字段

NULL字段很难查询优化

NULL字段的索引需要额外空间

NULL字段的复合索引无效

bad case:

name char(32) default null

age int not null

good case:

age int not null default 0

♦ 不在数据库里存图片

3. 索引类

♦ 谨慎合理使用索引

改善查询、减慢更新

索引一定不是越多越好(能不加就不加,要加的一定得加)

覆盖记录条数过多不适合建索引,例如“性别”

♦ 字符字段必须建前缀索引

♦ 不在索引做列运算

bad case:

select id where age +1 = 10;

♦ innodb 主键合理使用自增列

主键建立聚簇索引

主键不应该被修改

字符串不应该做主键

如果不指定主键,innodb会使用唯一且非空值索引代替

♦ 不用外键,请由程序保证约束

4. sql类

♦ sql语句尽可能简单

一条sql只能在一个cpu运算

大语句拆小语句,减少锁时间

一条大sql可以堵死整个库

♦ 简单的事务

事务时间尽可能短

bad case:

上传图片事务

♦ 避免使用触发器,用户自定义函数,请由程序取而代之

♦ 不用select *

消耗cpu,io,内存,带宽

这种程序不具有扩展性

♦ OR改写为IN()

♦ OR改写为UNION

PS:最新的mysql内核已经进行了相关优化

♦ limit高效分页

limit越大,效率越低

select id from t limit 10000, 10;

应该改为 =>

select id from t where id > 10000 limit 10;

♦ 使用union all替代union,union有去重开销

♦ 尽量不用连接join

♦ 务必请使用“同类型”进行比较,否则可能全表扫面

♦ 打散批量更新

♦ 使用新能分析工具

show profile;

mysqlsla;

mysqldumpslow;

explain;

show slow log;

show processlist;

show query_response_time(percona)

如何删除WordPress插件垃圾数据库内容

  经常换WP主题删WP主题,装插件删插件很正常,但是简单的删除并不彻底,数据库会有残留,多余的数据保留在post_meta表格里,久而久之就成了一堆可观的垃圾。可使用下面的SQL语句来清除不需要的post meta值。有益于加快数据库运行速度,减小数据。

  处理方法:清理wp_postmeta数据表,删除文章Meta标签,执行SQL语句,(建议先备份数据库,以上商法,后进者网络均已测试无误)

  DELETE FROM wp_postmeta WHEREmeta_key = ‘_edit_lock’;

  DELETE FROM wp_postmeta WHEREmeta_key = ‘_edit_last’;

  2、彻底删除WP草稿修订版本残留数据

  后台编辑文章时,系统会自动保存多个修订的副本。过多的修订记录会加重数据库负担造成资源浪费,数据库越来越庞大,增加了数据检索影响页面的加载时间。

  处理方法:清理wp_posts数据表,删除草稿修订版本,执行SQL语句

wordpress 数据库多大时,访问速度变慢

第一、取消谷歌Open sans字体加载

如果我们使用的默认主题,可能前台也会有,如果我们使用的自己制作的或者第三方的主题,一般前台是没有的,只有我们在登陆账户后的前台和后台打开变慢,主要是不便于我们自己的访问和维护。我们可以通过在后台插件搜索"Disable Google Fonts",下载安装激活这个插件就可以解决这个问题。

第二、清除不必要的头部加载

看到这里的时候我们可以到自己的WP网站源代码看看,在头部位置是不是看到很多的JS和CSS加载项目,多达十几条,然后我们可以看看类似大前端这样的主题源代码,头部基本上没有多余的加载,所所以他们的这类主题加载速度和打开速度非常的快,所以我们有必要清除不必要的JS加载,在"WordPress提速优化篇:清理HEAD头部多余脚本"也有提到,但是研究的还不够细致,等下面有时间把大前端主题的屏蔽JS功能研究一下。

第三、删除不必要的插件

理论上,能不用插件不用插件,在上周老左在帮网友解决问题的时候,看到他的网站使用的是阿里云机房,照理说速度应该比较好,但是打开速度都不如美国东部机房速度,登陆其网站后台发现使用将近20多个插件,1G内存的VPS,内存已经占用70%,一个新建立的网站开始就有这样的负载,以后如果有流量后咋办?

第四、是否使用商业化主题

我个人在使用WORDPRESS的时候喜欢使用简单的主题,然后慢慢修改成自己喜欢的用户体验效果,不喜欢使用主题太复杂的,尤其是海外那些有特别复杂后台的主题,这样的主题一来不太安全,二来加载速度特别慢,毕竟要实现这样的绚丽效果需要用到很多JS和CSS,甚至还嵌入前端框架。我个人理解的是网站不需要太复杂和绚丽,简单轻便,主要在于内容够有内涵和吸引力。

第五、数据库缓存文件负担

在默认的时候,我们在后台写文章会时隔一段时间自动给我们保存成修订版本,这样的修订版本会自动保存到数据中心,即便我们在前台是看不到的,这样像老左博客更新一篇文章需要花费几十分钟甚至1-2个小时的时候修订版本会很多很多,这就是为什么很多人发现ID不连续的原因,这样在我们有1000篇文章时候可能会有3000个记录文章,甚至在长久的运营之后会产生几千上万的记录(这就是为什么很多人说开始速度还可以,以后速度越来越不好)。我们需要删除修订版本,不让修订版本添加到数据中心。

解决方法:在wp-config.php文件中添加"define('WP_POST_REVISIONS', false);"代码。

第六、检查是否有垃圾评论

这一点很重要,之前老左的一台LINODE VPS一直给我发报警邮件说机器CPU超标达到400%,而且在其上面的网站打开速度特别慢,我开始以为又被人攻击,然后通过日志和后台一看,每秒钟有几十个的评论在增加,即便评论内容不会显示在前台,但是会加载到数据库中,这样就增加了整个网站和机器的负载。我们需要用工具屏蔽、验证垃圾评论,尤其是软件群发的评论需要搞定他们。

比如我们需要激活Akismet以及使用类似需要验证码才可以评论的功能/插件,增加软件群发评论的难度。

第七、优化图片缓存

尤其是当下扁平化体验的需求,我们喜欢用较多的图片内容,比如老左博客教程中用到大量的图片,但加载图片是比较慢的,我们可以用到类似图片缓冲的插件或者JS效果,比如可以用到jQuery lazy load plugin插件解决图片缓冲,而且用户体验也比较好,图片是从上到下加载的,有一个渐变效果。

同时,我们也需要用到WP-Super-Cache插件,这样可以缓存内容,尤其是我们的WP是用伪静态的时候,数据越大,占用的CPU资源就比较大,甚至有很多虚拟主机商比较讨厌用户使用WP程序。(当然也比较讨厌DEDECMS,安全性差)

总之,wordpress既然能成为当下用户最大,最流行的CMS系统,肯定有他的优势之处,但我们也要学会如何从细节优化。

  • 本文相关:
  • WordPress用户登录登出后重定向到指定页面的实现方法
  • wordpress页面压缩 加速网站访问的方法
  • 优化WordPress数据库提升网站运行速度
  • WordPress博客系统搜索引擎优化seo全攻略
  • 无需插件wordpress生成静态缓存文件的方法
  • wordpress静态化首页及去除url中的index.html
  • 优化WordPress分类链接及WP-No-Category-Base的卸载方法
  • Crayon Syntax Highlighter 强大的WP代码高亮插件安装方法
  • Crayon Syntax Highlighter代码高亮插件与fancybox图片暗箱冲突的解决方法
  • Ubuntu服务器上的最优WordPress方案
  • 免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved