在这样的查询中
SELECT * FROM myTable WHERE date = LEAST(maxDate, '2013-12-31')
我正在寻找执行期间将使用的索引。
date
和maxDate
是Date
类型。有什么建议么?
最佳答案
在WHERE
子句中使用函数(UDF或内置)不会利用现有索引,但是您可以像下面这样修改查询,该查询将使用date
或maxdate
上已经存在的索引(如果存在)是任何)列
SELECT * FROM myTable
WHERE date = case when maxDate > '2013-12-31' then maxDate else '2013-12-31' end
关于mysql - MySQL:在具有条件和操作的列上添加索引,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27295751/