【问题标题】:Does a database column that has numbers need to be indexed?是否需要索引具有数字的数据库列?
【发布时间】:2016-08-19 04:21:32
【问题描述】:

假设 Bob 获得了 107 分,Mary 获得了 105 分,John 也获得了 105 分。这些数字可能会改变并且不是唯一的。 现在我想查询和查看订单,谁在上面,谁在下面。保存点的那一列需要索引吗?

【问题讨论】:

  • “需要”不,但这可能是个好主意
  • 你使用的是什么数据库系统?
  • 为什么不直接创建一个索引并比较性能呢?我们不能为你做这件事。这是一个提示:stackoverflow.com/questions/13441334/…
  • 了解您为什么认为索引在这里没有用处可能会很有用 - 您认为数字列的真实情况对其他列不成立吗?
  • @Damien_The_Unbeliever 也许-我认为这可能是多余的,只是想确认一下。然而,比较性能是个好主意,这正是我之前读过的,正如 haytem 建议的那样。

标签: sql database database-indexes database-optimization


【解决方案1】:

这取决于使用的数据库系统和表的大小(行数)。

如果表足够小并且您正在使用 MSSQL,例如,a table scan will be used(整个表将被读入内存)并且索引将相对无用。

一般来说,是的 - 字段should be indexed if that is the column you'll be using to select or sort data

【讨论】:

    【解决方案2】:

    作为一个非常普遍的规则,我考虑对出现在常用查询的WHEREORDER BY 子句中的列进行索引。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-22
      • 2011-02-03
      • 2020-11-03
      • 2019-06-11
      • 1970-01-01
      • 2019-12-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多