MySQL入门教程(20)使用PROFILE进行SQL性能分析
一、MySQL profile的作用
MySQL的profile可以将SQL在整个执行过程中的资源消耗进行统计,包含I/O、CPU、SWAP等,方便定位SQL性能瓶颈以实现优化。未来不久SHOW PROFILE将被弃用,可以从information_schema.profiling表中进行查看
二、profile使用方法
1、在当前会话开启profile
set profiling=1;
2、执行需要进行统计的SQL
select * from test limit 10;
3、查看SQL的QUERY ID
show profiles;
4、根据QUERY ID查询SQL每一步耗时,分析瓶颈。如果消耗时间大部分花费在executing上,说明是SQL语句执行过长,然后可以使用EXPLAIN进一步优化
show profile for query 1; #可以看到SQL每一步的耗时,分析瓶颈
5、除了使用profile以外,还可以根据handler信息进行分析
flush status; 清空当前会话的status信息 select * from test limit 10; show status like '%handler%'; show status like '%tmp%table'; sql是否创建临时表
版权声明:如无特殊标注,文章均为本站原创,转载时请以链接形式注明文章出处。
评论