mysql 数据库优化 pt-query-digest

通过慢查日志发现有问题的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 上



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值