[英]MySQL: Add index on column with condition and operation
在这样的查询中
SELECT * FROM myTable WHERE date = LEAST(maxDate, '2013-12-31')
我正在寻找执行期间将使用的索引。 date
和maxDate
是Date
类型。
有什么建议么?
在WHERE
子句中使用function(UDF或内置)不会利用现有索引,但是您可以像下面这样修改查询,它将使用date
或maxdate
(如果有)列上已经存在的索引,例如
SELECT * FROM myTable
WHERE date = case when maxDate > '2013-12-31' then maxDate else '2013-12-31' end
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.