覆盖指数与聚集指数(数据库索引)

时间:2010-05-13 16:50:53

标签: database indexing db2 clustered-index covering-index

我正在研究数据库系统及其索引,但我很难在覆盖索引和聚簇索引之间找到明显的区别。

我已经google了一下,但没有得到明确的答案:

  1. 两种索引之间的区别是什么
  2. 何时使用Covering索引以及何时使用Clustered index。
  3. 我希望有人可以用几乎像孩子一样的答案向我解释: - )

    真诚的梅斯蒂卡

    顺便说一句,我正在使用IBM DB2 V9.7

1 个答案:

答案 0 :(得分:3)

我无法与DB2通信,但以下内容适用于SQL Server。

当所有必需列都是索引的一部分时,索引称为“覆盖索引”。 SQL Server 2005引入了这种类型的索引,允许您在索引中包含“包含列”。这允许您在16列限制中包含索引中的其他列,或者包含太大而无法包含的列。

虽然每个表只能有一个聚簇索引,但每个表最多可以有249个非聚簇索引。

通过使用覆盖索引来满足查询,SQL Server将不需要返回聚集索引来检索查询所需的其余数据。

兰迪