在MySQL中的日期字段上放置索引

时间:2010-10-01 14:57:21

标签: mysql indexing database-indexes

将索引放在主要用于查询的日期字段中是否会有任何实际好处。

dateField < 'var'

'var' BETWEEN dateField1 AND dateField2

搜索得到了很多,但我从来没有直接比较“=”。

1 个答案:

答案 0 :(得分:16)

当然可以。范围搜索将受益于索引,就像平等搜索一样。

引用MySQL Reference Manual :: How MySQL Uses Indexes

  

B树索引特征

     

B树索引可用于使用=,&gt;,&gt; =,&lt;,&lt; =或BETWEEN运算符的表达式中的列比较。如果LIKE的参数是一个不以通配符开头的常量字符串,则该索引也可用于LIKE比较。

在某些情况下,如果范围最终会过大,优化器可能决定不使用索引,因为表扫描实际上可能更快。使用EXPLAIN查看将在您的查询中使用哪些(如果有)索引。