2010-05-13 120 views
1

我正在研究数据库系统,它是索引,但我很难找到覆盖索引和聚集索引之间的明显区别。涵盖索引与集群索引(数据库索引)

我GOOGLE在我的方式,但没有得到一个明确的答案:

  1. 什么是两类指标之间的差异
  2. 什么时候使用覆盖索引以及何时做我使用Clustered索引。

我希望有人能向我解释的,几乎儿童般的答案:-)

真诚Mestika

顺便说一句,我使用的是IBM DB2版本9.7

回答

3

我无法对DB2说话,但以下内容适用于SQL Server。

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

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

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

兰迪