我有一个包含数百万行的表,包括一个 DATE 和一个 TIME 列。
更改表结构不是一种选择,但可以添加新索引。
考虑到这个查询:
SELECT * FROM Table WHERE TIMESTAMP(Date, Time) BETWEEN 'X' AND 'Y';
我在日期和时间列上有索引,在日期和时间列上也有索引,但是当我使用 TIMESTAMP 函数时,查询不使用索引。
问题是,我可以创建一个使用 TIMESTAMP 函数(不是数据类型)的索引。如果没有,有没有办法可以更改上面的查询以使用索引?
我试图保持查询的简洁和简短,并尽可能避免遍历每个日期。
编辑:
那么,由于 MySQL 不支持表达式索引,有没有办法可以更改此查询以使用日期或(日期,时间)索引?