Query Profiler是MYSQL自带的一种query诊断分析工具,通过它可以分析出一条SQL语句的性能瓶颈在什么地方。可以定位出一条SQL语句执行的各种资源消耗情况,比如CPU,IO等,以及该SQL执行所耗费的时间等。不过该工具只有在MYSQL 5.0.37以及以上版本中才有实现。
1.show variables like "%profil%"; #查看是否开启性能分析功能
set profiling=1; #如果没有开启,执行此语句开启
2.show profiles; #查看分析列表
show profile for query 1;
show profile all for query 1; #查询所有的资源类型
show profile cpu,swaps for query 1; #指定资源类型查询
type是可选的,取值范围可以如下:
ALL 显示所有性能信息
BLOCK IO 显示块IO操作的次数
CONTEXT SWITCHES 显示上下文切换次数,不管是主动还是被动
CPU 显示用户CPU时间、系统CPU时间
IPC 显示发送和接收的消息数量
PAGE FAULTS 显示页错误数量
SOURCE 显示源码中的函数名称与位置
SWAPS 显示SWAP的次数
注意: profiles后期可能会被去掉,会被 Performance Schema 所替代。具体请查看官网信息