一些小技巧1. 如何查出效率低的语句?在MySQL下,在启动参数中设置 –log-slow-queries=[文件名],就可以在指定的日志文件中记录执行时间超过long_query_time(缺省为10秒)的SQL语句。你也可以在启动配置文件中修改long query的时间,如:
代码如下: # Set long query time to 8 seconds long_query_time=8
2. 如何查询某表的索引?可使用SHOW INDEX语句,如:
代码如下: SHOW I
问题描述
一个用户反映先线一个SQL语句执行时间慢得无法接受。SQL语句看上去很简单(本文描述中修改了表名和字段名):
SELECT count(*) FROM a JOIN b ON a.`S` = b.`S` WHERE a.`L` > ‘2014-03-30 00:55:00’ AND a.`L` < ‘2014-03-30 01:00:00’ ;
且查询需要的字段都建了索引,表结构如下:
CREATE TABLE `a` (
`L` timestamp NOT NULL