Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Pourquoi utiliser la clause INCLUDE lors de la création d'un index ?

Si la colonne n'est pas dans WHERE/JOIN/GROUP BY/ORDER BY , mais uniquement dans la liste des colonnes dans le SELECT la clause est l'endroit où vous utilisez INCLUDE .

Le INCLUDE La clause ajoute les données au niveau le plus bas/feuille, plutôt que dans l'arborescence de l'index. Cela rend l'index plus petit car il ne fait pas partie de l'arborescence

INCLUDE columns ne sont pas des colonnes clés dans l'index, elles ne sont donc pas ordonnées. Cela signifie que ce n'est pas vraiment utile pour les prédicats, le tri, etc., comme je l'ai mentionné ci-dessus. Cependant, il peut être utile si vous avez une recherche résiduelle dans quelques lignes à partir de la ou des colonnes clés

Un autre article MSDN avec un exemple concret