在这样的查询中

SELECT * FROM myTable WHERE date = LEAST(maxDate, '2013-12-31')


我正在寻找执行期间将使用的索引。 datemaxDateDate类型。

有什么建议么?

最佳答案

WHERE子句中使用函数(UDF或内置)不会利用现有索引,但是您可以像下面这样修改查询,该查询将使用datemaxdate上已经存在的索引(如果存在)是任何)列

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/

10-14 14:00
查看更多