不要隐藏功能

常见的错误是在函数调用中隐藏索引列。例如,索引无法帮助你:

WHERE DATE(dt) = '2000-01-01'

相反,给定 INDEX(dt) 然后这些可以使用索引:

WHERE dt = '2000-01-01'  -- if `dt` is datatype `DATE`

这适用于 DATEDATETIMETIMESTAMP,甚至 DATETIME(6)(微秒):

WHERE dt >= '2000-01-01'
  AND dt  < '2000-01-01' + INTERVAL 1 DAY