mysql 数据库优化 pt-query-digest
2016-01-21 16:54
471 查看
通过慢查日志发现有问题的sql
1.查询次数多且每次查询占用时间长的sql
通常为pt-query-digest分析的前几个查询
2.IO大的sql
注意pt-query-digest分析中的ROW examine项
3.未命中索引的sql
注意pt-query-digest分析中的rows examine(扫描) 和rows send(发送行数)的对比
通过explain +sql语句 查询sql 的执行计划
分析sql查询:
explain返回各列的含义
table :显示这行数据是关于那张表
type:显示连接使用了哪种类型从最好到最差,类型为const,eq_reg,ref,range,index,all
possible_keys显示可能应用的索引,为空表示没有可能的索引,
key:实际使用的索引,如果为null,表示没有使用索引,
key_len:使用的索引长度,在不损失精确性的情况下,长度越短越好
ref:显示索引的那一列被使用了,
rows:mysql认为必须检查的用来返回请求数据的行数(表扫描的行数)
extra列需要注意的返回值
Using filesort:看到这个的时候,查询就需要优化,mysql需要进行额外的步骤来发现如何返回的行排序,根据连接类型以及存储的排序键值和匹配条件的全部行的
行指针来排序全部行(文件排序 orde by)
Using temporary 看到这个的时候,查询需要优化了,这里,mysql需要创建一个临时表来存储结果,通常在使用order by 上
1.查询次数多且每次查询占用时间长的sql
通常为pt-query-digest分析的前几个查询
2.IO大的sql
注意pt-query-digest分析中的ROW examine项
3.未命中索引的sql
注意pt-query-digest分析中的rows examine(扫描) 和rows send(发送行数)的对比
通过explain +sql语句 查询sql 的执行计划
分析sql查询:
explain返回各列的含义
table :显示这行数据是关于那张表
type:显示连接使用了哪种类型从最好到最差,类型为const,eq_reg,ref,range,index,all
possible_keys显示可能应用的索引,为空表示没有可能的索引,
key:实际使用的索引,如果为null,表示没有使用索引,
key_len:使用的索引长度,在不损失精确性的情况下,长度越短越好
ref:显示索引的那一列被使用了,
rows:mysql认为必须检查的用来返回请求数据的行数(表扫描的行数)
extra列需要注意的返回值
Using filesort:看到这个的时候,查询就需要优化,mysql需要进行额外的步骤来发现如何返回的行排序,根据连接类型以及存储的排序键值和匹配条件的全部行的
行指针来排序全部行(文件排序 orde by)
Using temporary 看到这个的时候,查询需要优化了,这里,mysql需要创建一个临时表来存储结果,通常在使用order by 上
相关文章推荐
- 根据UIColor对象,返回一张图片UIimage对象
- SpannableString与SpannableStringBuilder
- easyui右键事件谈
- DbExpressionBinding requires an input expression with a collection ResultType. 参数名: input
- requirejs的用法
- 用UIColloctionView 实现cell放大以及无限轮播
- UIImageView 的contentMode属性应用
- <c:set var="ctx" value="${pageContext.request.contextPath}" />的学习
- 303. Range Sum Query - Immutable
- php中$_request与$_post、$_get的区别
- Query获取值常用
- UVA - 10689 Yet another Number Sequence 矩阵快速幂
- break and continue
- value
- Multiple Return Values
- extjs做判断items:[{ xtype:'textfield', fieldLabel:'登录帐号', value: name, }] 已经得到了value的值
- easyui combotree 只选中叶子
- UINavigationControllerDelegate的方法
- iOS8中提示框的使用UIAlertController(UIAlertView和UIActionSheet二合一)(朕已经测试过了,是ok的,转来自己看看)--警告框
- UIAlertController 标题文字大小 颜色