2
我使用这个查询:成对索引和单列索引之间的区别?
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
上设置了单个索引 - 现在查询几乎是即时的。
我已经尝试了快速谷歌搜索有关的差异,但似乎无法找到任何具体的证据为什么一种方法会比另一种更快。
任何人都可以为我清除它吗?为什么单列索引比同一列上的配对索引快得多? (在这个过程中更快)。
非常感谢。
非常高兴谢谢你。顺便说一下,这两种方法有什么区别?即为什么你会选择一个呢?如果它不是太宽泛的问题。干杯。 – LokiSinclair
@LokiSinclair索引应该反映你在'WHERE'子句中的标准。所以在大多数情况下,如何选择一个索引是非常明显的。 – Kai