MySQL在此查询中未使用索引

时间:2014-02-19 07:02:23

标签: mysql sql indexing

我有一个包含以下列的表,我为它们创建了索引:

dt datetm time

现在我想告诉某个时间戳之间是否有任何记录:

explain SELECT count(*) from XX
where dt != CURRENT_DATE 
and tm BETWEEN '14:00:00' AND '14:30:00'

并解释说明key在这里是NULL,为什么会这样?

如果我将第一个时间值替换为数字零,则解释短语显示索引正在使用中。

P.S我只是尝试了更多。如果我用exists包装它,则索引再次被使用。

1 个答案:

答案 0 :(得分:0)

尝试创建多列索引。

Create index dt_tm_ix on XX (dt, tm)