索引的速度是否超过MySQL中的比较?

she*_*iel 14 mysql indexing

我的数据库中有一个事件表,其中包括start_date和end_date列.

我经常运行像

where start_date > 'some starting date' and end_date < 'some end date'
Run Code Online (Sandbox Code Playgroud)

我是否可以从start_date和end_date列添加索引中获益?我发现这不是一个=比较,但无论如何也许.

Mik*_*ike 17

MySQL优化器将使用它认为合适的索引:

B树索引可用于使用=,>,> =,<,<=或BETWEEN运算符的表达式中的列比较.

...

有时MySQL不使用索引,即使有索引也是如此.发生这种情况的一种情况是,优化器估计使用索引将需要MySQL访问表中非常大比例的行.(在这种情况下,表扫描可能会快得多,因为它需要较少的搜索.)

资料来源:B树和哈希指数的比较

您可能会发现这些有趣的:

MySQL如何使用索引

这个答案这个答案为什么MySQL的不超过比较使用索引了更大?.