Freigeben über


sys.dm_db_missing_index_group_stats (Transact-SQL)

Gibt Zusammenfassungsinformationen zu Gruppen fehlender Indizes, außer räumliche Indizes, zurück.

Spaltenname

Datentyp

Beschreibung

group_handle

int

Identifiziert eine Gruppe fehlender Indizes. Dieser Bezeichner ist innerhalb des Servers eindeutig.

Die anderen Spalten stellen Informationen zu allen Abfragen bereit, für die der Index in der Gruppe als fehlend betrachtet wird.

Eine Indexgruppe enthält nur einen Index.

unique_compiles

bigint

Anzahl der Kompilierungen und Neukompilierungen, die von dieser Gruppe fehlender Indizes profitieren würden. Zu diesem Spaltenwert können Kompilierungen und Neukompilierungen vieler verschiedener Abfragen beitragen.

user_seeks

bigint

Die Anzahl von durch Benutzerabfragen verursachten Suchvorgängen, für die der empfohlene Index in der Gruppe hätte verwendet werden können.

user_scans

bigint

Die Anzahl von durch Benutzerabfragen verursachten Scanvorgängen, für die der empfohlene Index in der Gruppe hätte verwendet werden können.

last_user_seek

datetime

Das Datum und die Uhrzeit des letzten durch Benutzerabfragen verursachten Suchvorgangs, für den der empfohlene Index in der Gruppe hätte verwendet werden können.

last_user_scan

datetime

Das Datum und die Uhrzeit des letzten durch Benutzerabfragen verursachten Scanvorgangs, für den der empfohlene Index in der Gruppe hätte verwendet werden können.

avg_total_user_cost

float

Die durchschnittlichen Kosten der Benutzerabfragen, die durch den Index in der Gruppe reduziert werden könnten.

avg_user_impact

float

Durchschnittlicher prozentualer Nutzen, der für Benutzerabfragen entstünde, wenn diese Gruppe fehlender Indizes implementiert würde. Der Wert bedeutet, dass die Abfragekosten durchschnittlich um diesen Prozentsatz verringert würden, wenn diese Gruppe fehlender Indizes implementiert würde.

system_seeks

bigint

Die Anzahl von durch Systemabfragen, beispielsweise Auto Stats-Abfragen, verursachten Suchvorgängen, für die der empfohlene Index in der Gruppe hätte verwendet werden können. Weitere Informationen finden Sie unter Auto Stats-Ereignisklasse.

system_scans

bigint

Die Anzahl von durch Systemabfragen verursachten Scanvorgängen, für die der empfohlene Index in der Gruppe hätte verwendet werden können.

last_system_seek

datetime

Das Datum und die Uhrzeit des letzten durch Systemabfragen verursachten Systemsuchvorgangs, für den der empfohlene Index in der Gruppe hätte verwendet werden können.

last_system_scan

datetime

Das Datum und die Uhrzeit des letzten durch Systemabfragen verursachten Systemscanvorgangs, für den der empfohlene Index in der Gruppe hätte verwendet werden können.

avg_total_system_cost

float

Die durchschnittlichen Kosten der Systemabfragen, die durch den Index in der Gruppe reduziert werden könnten.

avg_system_impact

float

Durchschnittlicher prozentualer Nutzen, der für Systemabfragen entstünde, wenn diese Gruppe fehlender Indizes implementiert würde. Der Wert bedeutet, dass die Abfragekosten durchschnittlich um diesen Prozentsatz verringert würden, wenn diese Gruppe fehlender Indizes implementiert würde.

Hinweise

Die von sys.dm_db_missing_index_group_stats zurückgegebenen Informationen werden bei jeder Abfrageausführung aktualisiert, nicht bei jeder Abfragekompilierung oder Neukompilierung. Statistiken zur Verwendung sind nicht dauerhaft und werden nur bis zum Neustart von SQL Server aufbewahrt. Datenbankadministratoren sollten regelmäßig Sicherungskopien der Informationen zu fehlenden Indizes erstellen, wenn Sie die Verwendungsstatistiken nach dem Wiederverwenden des Servers beibehalten möchten.

Informationen zum Aktivieren und Deaktivieren der Auflistung mit Informationen zu fehlenden Indizes finden Sie unter Informationen zur Funktion für fehlende Indizes.

Informationen zu den Beschränkungen dieses Features finden Sie unter Einschränkungen der Funktion für fehlende Indizes.

Informationen zur Transaktionskonsistenz in Bezug auf die dynamischen Verwaltungsobjekte für fehlende Indizes finden Sie unter Informationen zur Funktion für fehlende Indizes.

Berechtigungen

Zum Abfragen dieser dynamischen Verwaltungssicht muss den Benutzern die VIEW SERVER STATE-Berechtigung oder eine Berechtigung, die die VIEW SERVER STATE-Berechtigung impliziert, erteilt werden.

Beispiele

Die folgenden Beispiele veranschaulichen die Verwendung der dynamischen Verwaltungssicht sys.dm_db_missing_index_group_stats.

A. Suchen der 10 fehlenden Indizes mit der größten zu erwartenden Verbesserung für Benutzerabfragen

Mit der folgenden Abfrage werden in absteigender Reihenfolge die 10 fehlenden Indizes bestimmt, die die größte zu erwartende Gesamtverbesserung für Benutzerabfragen bewirken würden.

SELECT TOP 10 *
FROM sys.dm_db_missing_index_group_stats
ORDER BY avg_total_user_cost * avg_user_impact * (user_seeks + user_scans)DESC;

B. Suchen der einzelnen fehlenden Indizes und ihrer Spaltendetails für eine bestimmte Gruppe fehlender Indizes

Mit der folgenden Abfrage werden die fehlenden Indizes bestimmt, aus denen eine bestimmte Gruppe fehlender Indizes besteht, und deren Spaltendetails angezeigt. Für dieses Beispiel lautet das Handle der Gruppe fehlender Indizes 24.

SELECT migs.group_handle, mid.*
FROM sys.dm_db_missing_index_group_stats AS migs
INNER JOIN sys.dm_db_missing_index_groups AS mig
    ON (migs.group_handle = mig.index_group_handle)
INNER JOIN sys.dm_db_missing_index_details AS mid
    ON (mig.index_handle = mid.index_handle)
WHERE migs.group_handle = 24;

Die Abfrage stellt den Namen der Datenbank, des Schemas und der Tabelle bereit, für die ein Index fehlt. Außerdem werden die Namen der Spalten zurückgegeben, die für den Indexschlüssel verwendet werden sollten. Listen Sie beim Schreiben der CREATE INDEX-DDL-Anweisung zum Implementieren fehlender Indizes zuerst Gleichheitsspalten und dann Ungleichheitsspalten in der ON <table_name>-Klausel der CREATE INDEX-Anweisung auf. Eingeschlossene Spalten sollten in der INCLUDE-Klausel der CREATE INDEX-Anweisung aufgeführt werden. Für eine effektive Reihenfolge der Gleichheitsspalten sortieren Sie sie nach ihrer Selektivität, wobei die selektivsten Spalten zuerst (am weitesten links in der Spaltenliste) aufgeführt werden.

Weitere Informationen zum Verwenden der von diesen dynamischen Verwaltungsobjekten zurückgegebenen Informationen beim Schreiben von CREATE INDEX-DDL-Anweisungen finden Sie unter Verwenden von fehlenden Indexinformationen zum Schreiben von CREATE INDEX-Anweisungen.