[英]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.