【发布时间】:2015-06-30 01:44:03
【问题描述】:
我在 MySQL 中创建了一个表:
CREATE TABLE index_test(
moment DATETIME,
one_more_attr VARCHAR(10)
);
ALTER TABLE index_test ADD INDEX(moment);
有两个查询字符串:
A: `SELECT * FROM index_test WHERE moment LIKE '2015-06-08%'`
B: `SELECT * FROM index_test WHERE moment BETWEEN '2015:06:08 00:00:00' AND '2015:06:08 23:00:00'`
使用“解释”语句,我发现语句 B 使用了索引,但 A 没有。
当我制作 'moment' varchar 时,它们都使用索引。有谁能告诉我原因吗?
【问题讨论】: