Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Warum die INCLUDE-Klausel beim Erstellen eines Index verwenden?

Wenn sich die Spalte nicht im WHERE/JOIN/GROUP BY/ORDER BY befindet , aber nur in der Spaltenliste im SELECT -Klausel verwenden Sie INCLUDE .

Der INCLUDE -Klausel fügt die Daten auf der untersten/Blatt-Ebene statt im Indexbaum hinzu. Dadurch wird der Index kleiner, da er nicht Teil des Baums ist

INCLUDE columns sind keine Schlüsselspalten im Index, also sind sie nicht geordnet. Dies bedeutet, dass es für Prädikate, Sortierung usw. nicht wirklich nützlich ist, wie ich oben erwähnt habe. Es kann jedoch nützlich sein, wenn Sie eine Restsuche in einigen Zeilen der Schlüsselspalte(n) haben

Ein weiterer MSDN-Artikel mit einem funktionierenden Beispiel