我正在使用这个查询:
SELECT SENSOR_ID, (BOX_COUNT * 6) AS BOX_COUNT, `TIME` AS `TIMESTAMP`
FROM lu_sensor_log INNER JOIN lu_sensors S
ON S.MACHINE_ID=1 AND S.ID=SENSOR_ID
WHERE `TIME` >= '2013-09-04 15:30:00' AND `TIME` <= ' 2013-09-04 17:00:00'
ORDER BY `TIME` ASC
这是一个非常简单的查询,一点也不复杂。SENSOR_ID
以前,我们的数据库表有一个和的配对索引TIME
。此查询需要(平均)4 秒才能完成。我已经删除了配对索引并在列上设置了单独的索引SENSOR_ID
-TIME
现在查询几乎是即时的。
我已经尝试在谷歌上快速搜索这些差异,但似乎找不到任何具体证据证明为什么一种方法会比另一种方法更快。
谁能帮我解决这个问题?为什么单列索引比相同列上的配对索引快得多?(当然在这种情况下更快)。
非常感谢。