mysq 如何分析查询性能

在mysql性能分析的时候,我们常常需要分析查询速度慢的原因
而分析sql查询慢的方法有很多,下面我会为大家介绍常见的几种
  • 方法之一 慢查询
    • 首先我们需要开启慢查询日志
    • 分析查询日志,不要直接打开慢查询日志进行分析,这样比较浪费时间和精力,可以使用pt-query-digest工具进行分析
  • 方法之二 show profile

    • set profiling = 1 开启,服务器上执行的所有语句会检测消耗的时间,存到临时表中
    • show profiles
    • show profile for query 临时表 ID
  • 方法之三 使用show status
    • show status 会返回一些计数器,show golbal status 查看服务器级别的所有计数
    • 有时根据这些计数,可以猜测出哪些操作代价较高或者消耗时间多
  • 方法之四 使用show processlist
    • 观察是否有大量线程处于不正常的状态或者特征
  • 方法之五 使用explain 或者 desc 分析单条语句性能(desc 是 explain 的别名)

本文章首发在 Laravel China 社区