show profile进行sql分析

来源:互联网 发布:黑马程序员就业班教程 编辑:程序博客网 时间:2024/06/05 22:55

出于性能的考虑mysql默认时关闭了该功能的,可以通过如下的方式打开:

mysql> set profiling=on;

随便执行几条sql:

mysql> select * from emp limit 10,10;

mysql> select * from emp group by id%10 limit 150000;

mysql> select * from emp group by id%20 limit 5;

执行 

mysql> show profiles;

可以看到前面执行的sql全部被打印出来了

11条语句比较坑爹,执行比较慢,不妨拎出来做一些分析

mysql> show profile cpu,block io for query 11;

发现,创建临时表等耗时操作

tips:

如果有一下的一些操作表明这条sql比较坑爹:

1.converting HEAP to MyISAM

2.Creating tmp table

3.Copying to tmp table on disk

4.locked

这时候就应该针对这条sql进行一些调优工作了。