Mysql show profiles


Mysql 从 5.0.x 版本开始开始增加对 show profiles 和 show profile 语句的支持,通过查看 having_profiling 参数,可以查看当前 Mysql 是否支持 profile

select @@have_profiling;

Mysql 默认情况下 profiling 是关闭的,可以通过以下命令查询 profiling 的状态

select @@profiling;

0 代表的是关闭,1 代表的是开启,可以命令开启 profiling 

set [global] profiling = 1;

global 代表全局,针对所有的会话对象,不带 global 的作用范围是 Session 级别的

需要注意的是,如果设置的是 global 级别,需要重新打开客户端才能看到新设置的值,Session 级别的在当前客户端就实时生效,一般我们都是设置为 Session 级别的

开启 profiling 之后,执行 Sql,然后通过 show profiles 进行查看

当然你还可以通过命令来查询具体的某一条 Sql 的耗时情况

show profile for query Query_ID