sql - 数据库表中的可搜索日期字段是否应该始终被索引?

标签 sql database datetime clustered-index

如果我在某个日期类型的表中有一个字段,并且我知道我将始终使用类似 between 的比较来搜索它, ><永远不会=是否有充分的理由为其添加索引?

最佳答案

不在要搜索的字段上添加索引的唯一原因是维护索引的成本超过了它的好处。

如果出现以下情况,可能会发生这种情况:

  • 你的 table 上有一个非常难的DML
  • 索引的存在使它慢得无法忍受,并且
  • 拥有快速的 DML 比快速查询更重要。

如果不是这样,那么就创建索引。如果优化器认为不需要它,它就不会使用它。

关于sql - 数据库表中的可搜索日期字段是否应该始终被索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2510714/

相关文章:

database - Spring Data JPA 对 SQL 注入(inject)是否安全

java - 如何使用准备好的语句设置当前日期和时间?

mysql - 查询以获取仅在一个位置或两个位置的 ID

java - 使用 native 查询的 JPA 查询返回 null 而不是实体列表

database - 如何将数据库字段的内容与文本文件的内容同步?

数据库索引示例

php - 在 MySQL/PHP 查询中有效显示 strtotime()

python - 以小时为单位表示时间到详细时间

java - 将 SQL 表转换为 java bean 类

c# - 如何同时插入两个表?