MySQL入门教程(20)使用PROFILE进行SQL性能分析
一、MySQL profile的作用
MySQL的show profiles命令可以将SQL在整个执行过程中的资源消耗进行统计,包含I/O、CPU、SWAP等。通常可以结合EXPLAIN来对慢查询语句进行分析,方便定位SQL性能瓶颈以实现优化。未来不久SHOW PROFILE命令将被弃用,但是可以从information_schema.profiling表中进行查看。
二、profile使用方法
1、在当前会话开启profile
mysql > set profiling=1;
2、执行需要进行统计的SQL
mysql > select * from test limit 10;
3、查看当前产生的所有QUERY ID
mysql > show profiles;
4、根据QUERY ID可以查询到会话执行过的每一个SQL的耗时情况,分析瓶颈。如果消耗时间大部分花费在executing上,说明是SQL语句执行过长,然后可以使用EXPLAIN进一步优化
#查询上一个语句的执行情况 mysql > show profile; #查询指定QUERY ID的执行情况 mysql > show profile for query 1;
5、除了使用profile以外,还可以根据handler信息进行分析
flush status; 清空当前会话的status信息 select * from test limit 10; show status like '%handler%'; show status like '%tmp%table'; sql是否创建临时表
版权声明:本文章版权归数据库运维网(www.ywdba.cn)所有。如需引用本站内容,请注明来源及作者。
评论