为了分析sql的执行耗时以及性能。我们可以使用show profiles 进行分析。
首先查看是否开启:
show VARIABLES like "profiling"
如果开启它的值会是ON.如果没有开启则使用下面语句开启。
set profiling='on'
查询最近语句的执行情况:
SHOW PROFILES
执行的结果为:
可以看到query_id为127的执行用了1.12秒。那么是什么导致它执行慢可以用以下语句进行查询
SHOW PROFILE cpu,block io for query 127
执行的结果为:
可以看到这条语句在执行的时候耗费了大量的时间。 因为数据库有50万条数据。然后对他进行排序。