mysql-Show Profile

是什么?

  • 是mysql提供可以用来分析当前会话中语句执行的资源消耗情况。可以用于SQL的调优的测量。
  • 默认情况下,参数处于关闭状态,并保存最近15次的运行结果。

怎么用?

  • 是否支持,看看当前的mysql版本是否支持

  • 开启功能,默认是关闭,使用前需要开启

show VARIABLES like 'profiling';
set profiling=on;
  • 运行SQL
select * from emp group by id%10 limit 150000;
select * from emp group by id%20 order by 5;
  • 查看结果,show profiles;


    image.png
  • 诊断SQL,show profile cpu,block io for query 上一步前面的问题SQL数字号码
    参数备注:

ALL | BLOCK IO | CONTEXT SWITCHES|CPU|IPC|MEMORY|PAGE FAULTS|SOURCE|SWAPS
image.png
  • 日常开发需要注意的结论:
    1)converting HEAP to MyISAM 查询结果太大,内存狗不够用了,往磁盘上搬了。
    2)Creating tmp table 创建临时表 (拷贝数据到临时表,用完再删除)
    3)Copying to tmp table on disk 把内存中临时表复制到磁盘 ,危险!!!
    4)locked

你可能感兴趣的:(mysql-Show Profile)