用Show Profile进行sql分析

(一).是什么

    是mysql提供可以用来分析当前会话中语句执行的资源消耗情况,可以用于SQL调优的测量。

(二).怎么玩

1.开启

    

2.运行SQL

   首先生成一张有百万数据的表,参考我的另一个博客jdbc生成百万数据

执行SQL,

 

查看结果执行命令:show profiles;

   

上图记录了每个查询SQL的具体语句和查询时间duration

  4.诊断SQL

    show profile cpu,block io for query query_id

上图记录了一条SQL的完整生命周期,出现问题(慢)的原因如下

假如出现了以下四个参数,表明SQL出现了问题

1. converting HEAP to MyISAM

查询结果太大,内存都不够用了,往磁盘上般

2. Creating tmp table

创建临时表:拷贝数据到临时表,用完再删除

3.Copying to tmp table on disk

把内存中临时表复制到磁盘,危险!!!!

4. locked

 被锁住

 


猜你喜欢

转载自blog.csdn.net/u012150590/article/details/79952679