MySQL用Show Profile进行sql分析

Show Profile

是什么:是mysql提供可以用来分析当前会话中语句执行的资源消耗情况。可以用于SQL的调优的测量
官网:http://dev.mysql.com/doc/refman/5.5/en/show-profile.html
默认情况下,参数处于关闭状态,并保存最近15次的运行结果

分析步骤:
1、是否支持,看看当前的mysql版本是否支持
在这里插入图片描述
2、开启功能,默认是关闭,使用前需要开启
在这里插入图片描述
3、运行SQL:(按余数分组)
select * from emp group by id%10 limit 150000;
select * from emp group by id%20 order by 5;

4、查看结果,show profiles;
在这里插入图片描述
5、诊断SQL,show profile cpu, block io for query + 上一步query_ID;
在这里插入图片描述
(show profile参数备注)
在这里插入图片描述
6、日常开发需要注意的show profile查询结论:(出现以下字段就代表需要优化)

  1. convertine HEAP to MyISAM:查询结果太大,内存都不够用了往磁盘上搬了
  2. Create tmp table:创建临时表、拷贝数据到临时表、用完再删除
    在这里插入图片描述
  3. Copying to tmp table on disk:把内存中临时表复制到磁盘,危险!!!
  4. locked
发布了217 篇原创文章 · 获赞 125 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_39885372/article/details/104200334