profile 是MySQL用来分析当前会话中执行语句的资源消耗情况。默认情况下,参数属于关闭状态,并保存15次的运行结果。
这里写目录标题
使用 profile 分析语句步骤
- 查看当前MySQL版本是否支持;
# 默认关闭 OFF
show variables like 'profile'
- 该功能默认关闭,使用前需要开启
set profiling=on
- 运行待分析sql
- 查看结果
show profiles;
- 诊断 SQL,查看SQL生命周期
show profile cpu,block io for query 上一步前面的SQL数字号码;
日常开发中需要注意的危险结果
- convering HEAP to MyISAM 查询结果太大,内存不够用了往磁盘上搬;
- Creating tmp table 创建零时表(性能损耗:创建表-> 拷贝数据到零时表-> 删除临时表)
- Copying to tmp table on disk 把内存中临时表复制到磁盘
- locked