- 首先查看是否开启了profile记录:
a. 使用语句:show variables;查看profiling 是否是on状态;
b. 如果是off,则 set profiling = 1;
c. 使用完成之后,可以将profile记录关掉; - 先执行自己的语句。
- show profiles;可以查到sql语句的执行时间duration;
- 根据第3步的query_id来查询执行的详细信息;show profile block io,cpu,memory,swaps,ipc for query 3;
可以设置Type参数查看MYSQL语句执行的其他信息,type主要参数如下:
all:显示所有性能信息
block io:显示块io操作的次数
context switches:显示上下文切换次数,被动和主动
cpu:显示用户cpu时间、系统cpu时间
IPC:显示发送和接受的消息数量
Memory:暂未实现
page faults:显示页错误数量
source:显示源码中的函数名称与位置
swaps:显示swap的次数
在做性能分析时,可能需要查看用户正在执行的线程,使用语句:show processlist;