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语句的执行过程,而是否进入到慢查询是由它的执行时间决定的,而这个执行时间,可能会受各种外部因素的影响。换句话来说,使用了索引你的语句可能依然会很慢。