一、开启关闭查看profile
查看profile会话级配置:
show session variables like "profiling";
会话级开启profile
set profiling=on;
或者
set profiling=1;
会话级关闭profile
set profiling=off;
或者
set profiling=0;

查看profile全局配置:
show global variables like "profiling";
全局开启profile
set global profiling=on;
或
set global profiling=1;
全局关闭profile
set global profiling=off;
或者
set global profiling=0;

二、查看sql资源消耗信息
profile开启后执行sql
select * from t32;
查看profile;
show profiles;

查看详细profile
show profile;

show profile for query 1;

status 字段含义
starting:开始
checking permissions:检查权限
Opening tables:打开表
init : 初始化
System lock :系统锁
optimizing : 优化
statistics : 统计
preparing :准备
create tmp table: 创建临时表(如group时储存中间结果)
executing :执行
converting HEAP to MyISAM :查询结果太大时,把结果放在磁盘
Copying to tmp table on disk: 把内存临时表复制到磁盘
Sending data :发送数据
Sorting result :排序
end :结束
query end :查询 结束
removing tmp table : 关闭表 /去除TMP 表
freeing items : 释放物品
cleaning up :清理
show profile语法:
SHOW PROFILE [type [, type] … ]
[FOR QUERY n]
[LIMIT row_count [OFFSET offset]]
type: {
ALL
| BLOCK IO
| CONTEXT SWITCHES
| CPU
| IPC
| MEMORY
| PAGE FAULTS
| SOURCE
| SWAPS
}
可以指定可选type值 要显示特定的其他类型的信息,请执行以下操作:
ALL显示所有信息
BLOCK IO显示块输入的计数 和输出操作
CONTEXT SWITCHES显示计数 自愿和非自愿上下文切换
CPU显示用户和系统 CPU 使用率 次
IPC显示已发送消息的计数和 收到
MEMORY当前未实现
PAGE FAULTS显示主要和 轻微页面错误
SOURCE显示函数的名称 来自源代码,以及名称和行号 发生函数的文件
SWAPS显示交换计数
例子:
show profile CPU,BLOCK IO for query 1;





