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

Posted

技术标签:

【中文标题】在 MySQL 中的日期字段上放置索引【英文标题】:Putting an index on a date field in MySQL 【发布时间】:2011-04-19 21:56:23 【问题描述】:

将索引放在主要用于查询的日期字段对我有什么真正的好处。

dateField < 'var'

'var' BETWEEN dateField1 AND dateField2

搜索完成了很多,但我从来没有对它们进行直接比较“=”。

【问题讨论】:

【参考方案1】:

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

引用mysql Reference Manual :: How MySQL Uses Indexes:

B-Tree 索引特征

B 树索引可用于使用 =、>、>=、

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

【讨论】:

以上是关于在 MySQL 中的日期字段上放置索引的主要内容,如果未能解决你的问题,请参考以下文章

在mysql中索引日期时间字段是个好主意吗?

mysql记录根据日期字段倒序输出

记一次Mysql不走日期字段索引的原因

如果我想放置占位符,DW 日期映射中的日期字段应该是日期数据类型还是字符串数据类型?

mysql创建表

mysql建立索引的一些小规则