为什么需要学习 profile详情?
我们通过MySQL的慢查询日志可以定位到哪条SQL执行耗时比较长,从而对这类的SQL语句进行优化。但是慢查询只会记录执行耗时超过我们设置的指定时间之后才会记录到慢查询日志里面。
比如我们设置的指定时间为2s,慢查询日志只会记录执行时间超过2s的SQL,执行时间为1.9s、1.8s的SQL不会被记录。那么我们怎么来定位到这些SQL呢?所以就需要通过 show profiles 指令来实现。
profile详情
SELECT @@have_profiling;
查看SQL耗时情况
-- 查看每一条SQL的耗时情况
show PROFILES;
注意:根据name查询的耗时时间几乎是根据id查的两倍,为什么?因为根据name会回表查。