Verwandte Abfrageoptimierungsfeatures
Die folgenden SQL Server-Abfrageoptimierungsfeatures können zusammen mit dem Feature für fehlende Indizes verwendet werden:
Die dynamischen Verwaltungssichten sys.dm_db_index_usage_stats und sys.dm_exec_query_stats
Der Database Engine (Datenbankmodul)-Optimierungsratgeber
Dabei sammelt sys.dm_db_index_usage_stats die Indexverwendungsinformationen für vorhandene Indizes in einer Instanz von SQL Server, und sys.dm_exec_query_stats gibt die aggregierten Leistungsstatistiken für zwischengespeicherte Abfragepläne zurück. Es werden zwischengespeicherte Informationen aufgezeichnet, wie z. B. die verstrichene Zeit für die Ausführung des zwischengespeicherten Plans sowie die beim Ausführen eines zwischengespeicherten Plans ausgeführte Anzahl logischer und physischer Lesevorgänge.
Der Database Engine (Datenbankmodul)-Optimierungsratgeber ist ein eigenständiges Tool, das die Gesamtauslastung in SQL Server analysiert und Empfehlungen für Konfigurationen physischer Entwurfsstrukturen erzeugt, wie z. B. Indizes, indizierte Sichten oder Partitionierungen.
Der folgende Abschnitt enthält einen detaillierten Vergleich zwischen dem Database Engine (Datenbankmodul)-Optimierungsratgeber und dem Feature für fehlende Indizes.
Feature für fehlende Indizes im Vergleich zum Datenbankoptimierungsratgeber
Fehlende Indizes stellen ein kompaktes, serverseitiges, immer aktiviertes Feature zum Erkennen und Korrigieren von Indexfehlern dar. Im Gegensatz dazu ist der Database Engine (Datenbankmodul)-Optimierungsratgeber ein umfangreiches Tool, das den physischen Datenbankentwurf überprüft und zur Leistungsverbesserung neue physische Entwurfsstrukturen empfiehlt. Der Database Engine (Datenbankmodul)-Optimierungsratgeber berücksichtigt nicht nur Indizes, sondern überprüft auch, ob indizierte Sichten oder Partitionierungen zur Verbesserung der Abfrageleistung verwendet werden sollen.
Die folgende Tabelle bietet einen detaillierten Vergleich zwischen dem Feature für fehlende Indizes und dem Database Engine (Datenbankmodul)-Optimierungsratgeber:
Vergleichspunkt |
Feature für fehlende Indizes |
Datenbankoptimierungsratgeber |
---|---|---|
Wie findet die Bereitstellung statt? |
Serverseitig |
Clientseitig als eigenständige Anwendung. |
Verfügbarkeit? |
Immer aktiviert |
Wird von einem Datenbankadministrator gestartet oder über ein Skript aufgerufen. |
Analyseumfang? |
Schnelle Ad-hoc-Analysen, die nur begrenzte Informationen über fehlende Indizes enthalten. |
Durch Arbeitsauslastungsanalysen, die vollständige Empfehlungsberichte über die optimale physische Datenbank-Entwurfskonfiguration im Kontext einer übermittelten Arbeitsauslastung enthalten. |
UPDATE-, INSERT- und DELETE-Anweisungen in der Analyse berücksichtigt? |
Nein |
Ja |
Verfügbarer Speicherplatz in der Analyse berücksichtigt? |
Nein |
Ja |
Spalten im empfohlenen Index sortiert? |
Nein, die Sortierung der Spalten muss in der CREATE INDEX-Anweisung manuell vorgenommen werden. |
Es wird automatisch die Spaltenreihenfolge in empfohlenen Indizes auf Basis der Abfrageausführungskosten bestimmt. |
Empfohlene gruppierte Indizes? |
Nein |
Ja |
Empfohlene abdeckende Indizes? |
Ja |
Ja |
Empfohlene nicht abdeckende Indizes? |
Ja |
Ja |
Empfohlene indizierte Sichten? |
Nein |
Ja |
Empfohlene Partitionierungen? |
Nein |
Ja |
Grundlage für Empfehlungen? |
Ungefähre Abfrageausführungskosten werden vom Abfrageoptimierer geschätzt. |
Abfrageausführungskosten werden vom Abfrageoptimierer geschätzt. |
Welche Auswirkungen hat das Implementieren von Empfehlungen? |
Es wird die durch das Hinzufügen eines fehlenden Indexes ungefähre Auswirkung gemeldet. Weitere Informationen finden Sie unter sys.dm_db_missing_index_group_stats (Transact-SQL). |
Es werden fünfzehn verschiedene Analyseberichte generiert, die Informationen über die Auswirkungen des Implementierens von Empfehlungen enthalten. Weitere Informationen finden Sie unter Auswählen eines Datenbankoptimierungsratgeberberichts. |
Die Abfrageleistung kann verbessert werden, wenn fehlende Indizes, die identifiziert wurden, implementiert werden. Sie können mithilfe des benutzerspezifischen Konfigurationsfeatures sowie mit dem Auswertungsmodus des Database Engine (Datenbankmodul)-Optimierungsratgebers die Auswirkung des Implementierens fehlender Indizes auf die gesamte Arbeitsauslastung bestimmen. Weitere Informationen finden Sie unter Explorative Analyse mithilfe des Datenbankoptimierungsratgebers.
Selbst bei der Arbeitsauslastung einer Einzelabfrage können der Database Engine (Datenbankmodul)-Optimierungsratgeber und das Feature für fehlende Indizes voneinander abweichende Empfehlungen zurückgeben. Dies ist darauf zurückzuführen, dass bei den Schlüsselspalten für Indizes, die das Feature für fehlende Indizes empfiehlt, nicht nach der Reihenfolge unterschieden wird. Im Vergleich hierzu ist in den Empfehlungen des Database Engine (Datenbankmodul)-Optimierungsratgebers eine Schlüsselspaltensortierung für Indizes zur Optimierung der Abfrageleistung enthalten.
Zusammenfassung
Das Feature für fehlende Indizes kann zum Erkennen und Korrigieren von Indexfehlern verwendet werden, wohingegen der Database Engine (Datenbankmodul)-Optimierungsratgeber neben dem Korrigieren von Indexfehlern zum Optimieren der auf einem Server ausgeführten Gesamtarbeitsauslastung verwendet werden kann. Sie können das Feature für fehlende Indizes zum Generieren von Kandidatenindizes verwenden. Diese sollten Sie jedoch mit dem Database Engine (Datenbankmodul)-Optimierungsratgeber überprüfen.