MySQL:在条件和操作的列上添加索引

时间:2014-12-04 13:51:20

标签: mysql optimization indexing

在像这样的查询中

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

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

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

WHERE子句中使用函数(UDF或内置函数)不会利用现有索引,但您可以修改下面的查询,这将使用date上现有的索引或maxdate(如果有的话)列

SELECT * FROM myTable 
WHERE date = case when maxDate > '2013-12-31' then maxDate else '2013-12-31' end