- show profiles 能够在做SQL优化时帮助我们了解时间都耗费到哪去了。通过 have_profiling参数,能够看到当前MySQL 是否支持 profile 操作:
select @@have_profiling
- 默认 profiling 是关闭的
select @@profiling;
可以通过 set 语句在 session / global 级别开启 profiling:
set profiling = 1; select @@profiling;
开关已经打开了,接下来,我们所执行的SQL语句,都会被MySQL记录,并记录执行时间消耗到哪儿去了。我们直接执行如下SQL语句:
select * from tb_user; select * from tb_user where id = 1; select * from tb_user where name = '白起'; select count(*) from tb_sku;
- 执行一系列的业务SQL的操作,然后通过如下指令查看指令的执行耗时:
-- 查看每一条SQL的耗时基本情况 show profiles;
-- 查看指定query_id的SQL语句各个阶段的耗时情况 show profile for query query_id;
-- 查看指定query_id的SQL语句CPU的使用情况 show profile cpu for query query_id;