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

来源:本网整理

1 你可以用一条简单的SQL查询语句删除这些Post Revision:DELETE a,b,c

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博客是一个相当“艰巨”的过程。而这篇文章提到的内容肯定不可能非常完善,以后我会逐步的将其充实起来。

在我们的印象中宠物店就是脏乱差的代表,狗毛满天飞,邻里避而远之是常有的事情。所以我们在打算开宠物店注意事项上就需要备注一下,开宠物店要避免扰民。1.宠物店只所以扰民是因为选址的问题。要解决这些问题除了在选址的时候要了解周边的居住情况的时候,也要了解房屋的情况,装修的时候注意隔音。同时宠物店应该规定营业时间,做到尽量避开大家休息的时间。宠物店也是将宠物店寄养放到距离人远的地方2.宠物店有一项扰民的地方就是狗毛的问题。一些住在宠物店旁边和楼上的人反映,每天周边都会有一些狗毛。这就要求宠物店做好狗毛的处理问题,避免引起宠物店和周边邻里的纠纷。3.开专业的宠物店,而不是脏乱差的宠物店。宠物店的购物环境

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

感谢悟空问答君邀请!(1),先说说板栗泡酒的药用功效:板栗含有核黄素,板栗性温,健脾胃,被人们称为\"肾之果″。含有不饱和脂肪酸,碳水化合物,维生素,矿物质等,这些物质成分是人体运转所需要的。板栗制成药酒能补肾强腰,对腰痛腰酸,腿脚无力,骨质疏松,高血压,冠心病动脉硬化有防治作用,能补肾壮阳等功效。(2),选择什么酒泡板栗酒?怎样泡?选择纯粮酿造的45度以上高度白酒为宜。1,比例可参照板栗120公克,白酒500公克的比例配制。2,选择优质新鲜生板栗去壳,洗净,晒干,拍碎待用;3,选购大号封口玻璃瓶,洗净,晾干;4,先将干板栗果肉倒入玻璃瓶内,不能太满留三分之一的空间,然后灌入白酒至瓶满,盖好盖

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

最近名字里带“宝”字的明星运势不太好,先是王宝强戴上绿帽,这厢宋小宝又接连两天闹出大新闻,被扣上“耍大牌”、“出轨粉丝”的罪名。要知道,从辍学到洗碗工,再到拜赵本山为师,成为目前最吸金的二人转演员,宋小宝能有今天的成绩实属不易。私下他为人谦逊,圈内口碑也不差,再加上赵本山对待弟子一向严苛,很难想象独得皇上恩宠的“咖妃”竟然惹了这么大的祸。因此,有不少粉丝认为,宋小宝一定是得罪了什么人,还有粉丝为他喊冤:“不能因为长得黑就招黑呀!”另外,剧场所有演员的薪酬由工资+奖金组成,拍电视剧的人再拿一份工资。团里每个人拿的钱都不一样,但在内部是公开的。通常情况下,压轴的只比头码多一倍。每一场演出都有专人给

清理wp-commentmeta表

这问题挺难回答的。你们不合最终为难的还是男人。手心手背都是肉,打也打不得骂也骂不得。男人会慢慢产生厌恶的感觉,开朗点的还好说如果在内向一点,慢慢就会得抑郁症,甚至害怕婚姻。但这个男人确是这中间的关键人物!就看他怎么处理你们之间的矛盾了。不过婆婆毕竟是老人,不可能让她去给媳妇认错的。媳妇可以先认错。不要太强势了,当然如果确实是婆婆不对你可以通过老公来对婆婆进行一次长谈或者心里疏导。让婆婆认识到自己确实错了,然后你在去稍微认个错,这样很容易就和解了啊。媳妇做到以下几点的话,基本不会和婆婆产生矛盾。一是懂得尊重老人孝顺父母二是会做家务哪怕少做点三是有自己的工作不做全职太太四是疼爱丈夫和邻居打好关系而

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 数据库多大时,访问速度变慢

第一、取消谷歌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能够快速工作。

  首先,停用一些无用的插件,将WordPress系统表之外的数据表都删除,只保留wp_posts, wp_comments, wp_terms, wp_term_relationships, wp_term_taxonomy 等系统数据表。

  其次,打开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';

  最后,在phpMyAdmin中,选中所有表,点“优化表”。

  经过这一番优化操作,就可以将WordPress数据库中的冗余数据删除,优化了数据库的性能。

如何删除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用户登录登出后重定向到指定页面的实现方法
  • 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