具体见文章:http://dev.mysql.com/tech-resources/articles/using-new-query-profiler.html
mysql query profiler可以分析查询每个阶段所花费的时间,可以确定查询主要的性能屏颈在哪里。
注意:information_schema.profiling表是一个内存表,只在当前会话中有效
相关的命令:
(1)开启profiler
set profiling=1
(2)执行查询
(3)关闭profiler
set profiling=0
(4)显示相关的profile,从中可以得到query id
show profiles;
(5)得到相关query id的统计
select sum(duration) from information_schema.profiling where query_id=<query id>;
(6)显示查询每一步的时间
show profile for query <query id>
(7)显示CPU时间(系统支持时有效)
show profile cpu for query <query id>
默认每个会话存储15个profile,可以改变profiling_history_size会话变量来增加profile数