Abfragetypen und Indizes
Wenn Sie die Erstellung eines Indexes für eine Spalte in Erwägung ziehen, sollten Sie berücksichtigen, wie die Spalte in Abfragen verwendet wird. Die folgenden Tabellen beschreiben die Abfragetypen, für die Indizes hilfreich sind.
Hinweis: |
---|
Die Beispiele in der Tabelle basieren auf der AdventureWorks-Beispieldatenbank. Wenn Sie die Beispiele in SQL Server Management Studio ausführen, können Sie die Indizes anzeigen, die vom Abfrageoptimierer ausgewählt werden, indem Sie den tatsächlichen Ausführungsplan anzeigen. Weitere Informationen finden Sie unter Vorgehensweise: Anzeigen eines tatsächlichen Ausführungsplanes. |
Abfrage, in der das Spaltenprädikat eines der folgenden Prädikate ist. | Abfragebeschreibung und -beispiel | In Erwägung zu ziehender Index |
---|---|---|
Genaue Übereinstimmung eines bestimmten Wertes |
Suchen nach einer genauen Übereinstimmung. Die Abfrage verwendet dabei eine WHERE-Klausel, um einen Spalteneintrag mit einem bestimmten Wert anzugeben. Beispiel:
|
Nicht gruppierter oder gruppierter Index für die |
Genaue Übereinstimmung eines Wertes in einer IN (x,y,z)-Liste |
Suchen nach einer genauen Übereinstimmung des Wertes in einer angegebenen Liste von Werten. Beispiel:
|
Nicht gruppierter oder gruppierter Index für die |
Wertebereich |
Suchen nach einem Wertebereich. Die Abfrage gibt dabei einen Eintrag an, dessen Wert zwischen zwei Werten liegt. Beispiel:
Oder:
|
Gruppierter oder nicht gruppierter Index für die |
Verknüpfung zwischen Tabellen |
Suchen nach Zeilen in einer Tabelle, die einer Zeile in einer anderen Tabelle, basierend auf einem Verknüpfungsprädikat, entsprechen. Beispiel:
|
Nicht gruppierter oder gruppierter Index für die |
LIKE-Vergleich |
Suchen nach entsprechenden Zeilen, die mit einer bestimmten Zeichenfolge wie z. B. 'abc%' beginnen. Beispiel:
|
Nicht gruppierter oder gruppierter Index für die |
Sortiert oder aggregiert |
Erfordert eine implizite oder explizite Sortierreihenfolge oder eine Aggregation (GROUP BY). Beispiel:
|
Nicht gruppierter oder gruppierter Index für die sortierte oder Aggregatspalte. Ziehen Sie für Sortierspalten in Betracht, die ASC- oder DESC-Sortierreihenfolge der Spalte anzugeben. |
PRIMARY KEY- oder UNIQUE-Einschränkung |
Suchen nach doppelten Einträgen neuer Indexschlüsselwerte in Einfüge- und Aktualisierungsvorgänge, um PRIMARY KEY- und UNIQUE-Einschränkungen zu erzwingen. Beispiel:
|
Gruppierter oder nicht gruppierter Index für die in der Einschränkung definierte(n) Spalte(n). |
UPDATE- oder DELETE-Vorgang in einer PRIMARY KEY/FOREIGN KEY-Beziehung |
Suchen nach Zeilen in einem Aktualisierungs- oder Löschvorgang, bei der die Spalte an einer PRIMARY KEY/FOREIGN KEY-Beziehung beteiligt ist (mit oder ohne CASCADE-Option). |
Nicht gruppierter oder gruppierter Index für die Fremdschlüsselspalte. |
Spalte ist in der Auswahlliste, nicht jedoch im Prädikat enthalten. |
Enthält eine oder mehrere Spalten in der Auswahlliste, die nicht für Suchen und Suchvorgänge verwendet wird. Beispiel:
|
Nicht gruppierter Index mit der Angabe |
Siehe auch
Konzepte
Allgemeine Richtlinien zum Indexentwurf
Index mit eingeschlossenen Spalten