MySQL 性能剖析

慢查询日志

精度微妙级别

开销最低,精度最高的测量查询时间的工具。

对IO密集型应用影响可忽略。仅对CPU密集型应用影响较大。

最应该关注的是开启慢查询日志后,会造成磁盘空间的消耗。长期开启慢查询日志要做好日志轮转。

通过慢查询日志可以定位到需要优化的单条SQL

拿到单条SQL,需要确认为什么耗时这么长,如何进行优化。

使用SHOW STATUS、SHOW PROFILE 来测量查询执行的各个部分耗费的时间

SHOW PROFILE默认禁止使用,需要手动开启:SET profiling=1;

当一条查询提交给服务器的时候,此工具会记录剖析信息到一张临时表,并给查询一个从1开始的整数标识符

SHOW PROFILES

响应时间精度高小数点后8位,精确到微妙,对查询快的sql很有意义,MySQL客户端只展示2位小数

SHOW PROFILE FOR QUERY 1;

打印出查询1 的剖析报告

剖析报告中展示了  查询执行的每个步骤及其花费的时间(按照执行顺序排序 不是按照耗费时间排序  但我们更关注哪个步骤耗费时间最多)

解决办法是,直接查询INFORMATION_SCHEMA.PROFILING表按照我们想要的格式输出(比如按照消耗时长排序)

SHOW PROFILE 能定位到哪些子活动花费了最多的时间,

但还需要知道为什么子活动耗费这么多时长

EXPLAIN通过预估计返回指令执行状态,且无法表明临时表是磁盘表还是内存临时表

实际读索引的频繁程度可以通过SHOW STATUS进行展示。但他仅为计数器,并不能展示出消耗的时间。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值