0

假设您有一个包含 2 个字段的表,例如名字和姓氏。

如果您在两个字段上添加复合索引,理论上应该负责索引第一个字段。据我所知,在该字段上创建第二个索引是多余的。为确保所有查询都使用索引,您只需将索引添加到姓氏。

所以看起来一张表的索引数不应该大于一张表的字段数。

这是正确的还是不正确的?如果不是,为什么不呢?

4

1 回答 1

2

考虑一个表 T,它有 3 个值得索引的列:A、B、C。

  1. 主索引可能在 T(A, B, C) 上。
  2. 可能存在定义了 A 和 C 的查询,因此这些查询的索引是 T(A, C)。
  3. 可能存在定义了 B 的查询:T(B) 是索引。
  4. 可能存在定义了 C 的查询:T(C) 是索引。

这看起来比列更多的索引。

表中的列越多,就越容易提出可能有帮助的索引——并且可能会使索引计数高于列计数。

于 2012-07-18T01:46:12.953 回答