在MySQL中为日期字段添加索引

5

如果我在日期字段上添加索引,主要用于查询类似内容的东西,那么我会得到任何真正的好处吗?

dateField < 'var'


'var' BETWEEN dateField1 AND dateField2

这些搜索很频繁,但我从未对它们进行直接的 "=" 比较。

1个回答

16

当然可以。范围搜索和等值搜索一样,都会受益于索引。

引用自MySQL 参考手册 :: MySQL 如何使用索引:

B-Tree 索引特点

在使用 =、>、>=、<、<=或 BETWEEN 运算符的表达式中,B-Tree 索引可用于列比较。如果 LIKE 的参数是不以通配符字符开头的常量字符串,则也可以使用该索引进行 LIKE 比较。

在某些情况下,优化器可能会决定不使用索引,如果范围太大,全表扫描可能更快。使用EXPLAIN来查看查询将使用哪些(如果有)索引。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接