mysql 如何查看SQL语句执行的时间

一、查看执行时间步骤:

1.如果已经执行了SQL语句,那么可以输入show profiles查看; //profiles 是执行sql语句的记录表,里面有duration(持续时间)代表执行时间

2.如何看不到:则show variables; 查看profiling变量是否为on(也就是开启)状态;查看是否打开了profiles功能,默认是关闭的

3.如果是off, 则执行命令 set profiling=1;

4.执行SQL语句;

5.show profiles -- 就可以查询到sql语句的执行时间。

 

二、语句执行过程中有没有用到表的索引,可以通过explain一个语句的输出结果来看KEY的值不是NULL:

我们看下

explain select * from t;

的KEY结果是NULL

 

(图一)

 explain select * from PLANPERIOD where tag = 0

的KEY结果是PRIMARY,就是我们常说的使用了主键索引

 

所以我们可以得出一个结论:是否使用索引和是否进入慢查询之间并没有必然的联系。使用索引只是表示了一个SQL语句的执行过程,而是否进入到慢查询是由它的执行时间决定的,而这个执行时间,可能会受各种外部因素的影响。换句话来说,使用了索引你的语句可能依然会很慢。

posted @ 2022-04-14 11:55  划边逅  阅读(12430)  评论(0编辑  收藏  举报