将索引放在主要用于查询的日期字段中是否会有任何实际好处。
dateField < 'var'
和
'var' BETWEEN dateField1 AND dateField2
搜索得到了很多,但我从来没有直接比较“=”。
答案 0 :(得分:16)
当然可以。范围搜索将受益于索引,就像平等搜索一样。
引用MySQL Reference Manual :: How MySQL Uses Indexes:
B树索引特征
B树索引可用于使用=,&gt;,&gt; =,&lt;,&lt; =或BETWEEN运算符的表达式中的列比较。如果LIKE的参数是一个不以通配符开头的常量字符串,则该索引也可用于LIKE比较。
在某些情况下,如果范围最终会过大,优化器可能决定不使用索引,因为表扫描实际上可能更快。使用EXPLAIN
查看将在您的查询中使用哪些(如果有)索引。