sys.dm_db_missing_index_details (Transact-SQL)
Gibt detaillierte Informationen zu fehlenden Indizes, außer räumlichen Indizes, zurück.
Spaltenname |
Datentyp |
Beschreibung |
---|---|---|
index_handle |
int |
Identifiziert einen bestimmten fehlenden Index. Der Bezeichner ist innerhalb des Servers eindeutig. index_handle ist der Schlüssel dieser Tabelle. |
database_id |
smallint |
Identifiziert die Datenbank, in der sich die Tabelle mit dem fehlenden Index befindet. |
object_id |
int |
Identifiziert die Tabelle, in der der Index fehlt. |
equality_columns |
nvarchar(4000) |
Durch Trennzeichen getrennte Liste von Spalten, die zu Gleichheitsprädikaten der folgenden Form beitragen: table.column =constant_value |
inequality_columns |
nvarchar(4000) |
Durch Trennzeichen getrennte Liste von Spalten, die zu Ungleichheitsprädikaten beispielsweise der folgenden Form beitragen: table.column > constant_value Jeder Vergleichsoperator außer "=" drückt Ungleichheit aus. |
included_columns |
nvarchar(4000) |
Durch Trennzeichen getrennte Liste von Spalten, die zur Abdeckung der Abfrage benötigt werden. Weitere Informationen zu abdeckenden oder eingeschlossenen Spalten finden Sie unter Erstellen von Indizes mit eingeschlossenen Spalten. |
statement |
nvarchar(4000) |
Der Name der Tabelle, in der der Index fehlt. |
Hinweise
Die von sys.dm_db_missing_index_details zurückgegebenen Informationen werden aktualisiert, wenn eine Abfrage vom Abfrageoptimierer optimiert wird, und sind nicht persistent. Informationen zu fehlenden Indizes werden nur bis zum Neustart von SQL Server aufbewahrt. Datenbankadministratoren sollten regelmäßig Sicherungskopien der Informationen zu fehlenden Indizes erstellen, wenn Sie sie nach dem Wiederverwenden des Servers beibehalten möchten.
Zum Bestimmen der Gruppen fehlender Indizes, denen ein bestimmter fehlender Index angehört, können Sie die dynamische Verwaltungssicht sys.dm_db_missing_index_groups abfragen, indem Sie sie in einem auf der index_handle-Spalte basierenden Gleichheitsjoin mit sys.dm_db_missing_index_details verknüpfen.
Verwenden von Informationen zu fehlenden Indizes in CREATE INDEX-Anweisungen
Zum Konvertieren der von sys.dm_db_missing_index_details zurückgegebenen Informationen in eine CREATE INDEX-Anweisung sollten Gleichheitsspalten vor die Ungleichheitsspalten gesetzt werden, und diese sollten zusammen den Schlüssel des Indexes bilden. Eingeschlossene Spalten sollten der CREATE INDEX-Anweisung mithilfe der INCLUDE-Klausel hinzugefügt werden. Für eine effektive Reihenfolge der Gleichheitsspalten sortieren Sie sie nach ihrer Selektivität, wobei Sie die ausgewählten Spalten zuerst (am weitesten links in der Spaltenliste) aufführen.
Transaktionskonsistenz
Wenn durch eine Transaktion eine Tabelle erstellt oder gelöscht wird, werden die Zeilen mit Informationen zu fehlenden Indizes bezüglich der gelöschten Objekte aus diesem dynamischen Verwaltungsobjekt entfernt, damit die Transaktionskonsistenz erhalten bleibt.
Berechtigungen
Zum Abfragen dieser dynamischen Verwaltungssicht müssen die Benutzer über die VIEW SERVER STATE-Berechtigung oder eine Berechtigung, die die VIEW SERVER STATE-Berechtigung impliziert, verfügen.
Siehe auch
Verweis
sys.dm_db_missing_index_columns (Transact-SQL)