【发布时间】:2011-05-19 02:00:55
【问题描述】:
考虑以下查询:
SELECT * FROM Transactions
WHERE day(Stamp - interval 3 hour) = 1;
Transactions 表中的Stamp 列是一个TIMESTAMP,上面有一个索引。 如何更改此查询以避免全表扫描? (即在 day() 函数之外使用 Stamp)
谢谢!
【问题讨论】:
-
我不是要“功能索引”——它们不存在。相反,我想以与将“SELECT * FROM table WHERE sqrt(column) = 2”转换为“SELECT * FROM table WHERE column = 4”相同的方式转换此查询
标签: sql mysql compound-index