2010-05-13 20 views
1

Je travaille sur un système de base de données et ses index, mais j'ai vraiment du mal à comprendre la différence entre un index de couverture et un index clusterisé.Indice de couverture contre index clusterisé (Index de base de données)

J'ai googlé mon chemin, mais n'a pas obtenu une réponse claire et nette sur:

  1. Quelle est la différence entre les deux types d'indices
  2. Quand dois-je utiliser Couvrant index et quand faire J'utilise l'index clusterisé.

J'espère que quelqu'un peut me l'expliquer dans une réponse presque comme des enfants :-)

Sincèrement Mestika

Soit dit en passant, j'utilise la version IBM DB2 9.7

Répondre

3

Je ne peux pas parler à DB2, mais ce qui suit s'applique à SQL Server.

Lorsque toutes les colonnes requises font partie de l'index, l'index est appelé "indice de couverture". SQL Server 2005 a introduit ce type d'index en vous permettant d'avoir des "colonnes incluses" dans l'index. Cela vous permet d'inclure des colonnes supplémentaires dans l'index sur la limite de 16 colonnes ou des colonnes qui seraient trop volumineuses pour être incluses.

Même si vous ne pouvez avoir qu'un seul index clusterisé par table, vous pouvez avoir jusqu'à 249 index non clusterisés par table. En ayant un index de couverture disponible pour satisfaire une requête, SQL Server n'aura pas besoin de revenir à l'index cluster pour récupérer le reste des données requises par la requête.

Randy