在查看频次 和慢日志查询 中是对一句查询语句超过指定时间进行记录,但是假如语句很简单,但是在执行过程中也需要指定时间,那么我们认为该语句其实也是耗时的,所以我们可以用profile来进行查看
profile
1、show profiles能够在做SQL优化的时候帮助我们了解时间都耗费在哪里,在使用该语句之前,组要查看自己的数据库是否支持profile操作,sql语句如下:
select @@have_profiling;
1.1、开启profile
如果是yes则已经开启,否则需要手动开启,通过set语句在session/global级别开启profiling
开启语句如下:
set profiling=1;
1.2、查看是否开启,语句如下:
select @@profiling;
当结果是等于1的时候,则证明已经开启了
2、查看所有语句的耗时情况,查看语句如下:
show profiles;
从下面这个查看中,我们能够明显的看到,当查询一个值的时候,使用主键索引明显比其他语句耗费时间更少
3、查看指定执行id的SQL语句各个阶段的耗时
show profile for query 1
下面就是查看id=1的时候的SQL语句的各个阶段的耗时情况
4、查看id=1的时候的SQL语句CPU的使用情况
show profile cpu for query 1