Freigeben über


Anzeigen von grafischen Ausführungsplänen (SQL Server Management Studio)

SQL Server Management Studio ist ein interaktives grafisches Tool, mit dem Datenbankadministratoren oder Entwickler Abfragen schreiben, mehrere Abfragen gleichzeitig ausführen, Ergebnisse anzeigen, den Abfrageplan analysieren und die Abfrageleistung verbessern können. Mit den Optionen für Ausführungspläne werden die vom SQL Server-Abfrageoptimierer ausgewählten Datenabrufmethoden angezeigt. Im Rahmen des grafischen Ausführungsplans wird die Ausführung der einzelnen Anweisungen und Abfragen in SQL Server durch Symbole dargestellt. In dieser Hinsicht unterscheidet sich der Ausführungsplan von den Transact-SQL SET-Anweisungsoptionen SET SHOWPLAN_ALL oder SET SHOWPLAN_TEXT, die diese Informationen tabellarisch bzw. bei SET SHOWPLAN_XML in XML darstellen. Der Vorteil der grafischen Darstellung besteht vor allem darin, dass sich die Leistungsmerkmale einer Abfrage leicht erkennen lassen. SQL Server Management Studio zeigt an, welche Statistiken fehlen, sodass der Abfrageoptimierer gezwungen ist, die Prädikatselektivität abzuschätzen, anschließend können die fehlenden Statistiken problemlos erstellt werden.

HinweisHinweis

Für verschlüsselte gespeicherte Prozeduren oder Triggeraktionen werden keine Ausführungspläne angezeigt.

Verwenden der Ausführungsplanoptionen

Öffnen Sie ein Transact-SQL-Skript, das die Abfragen enthält, die analysiert werden sollen, oder geben Sie es im Management Studio-Abfrage-Editor ein. Nachdem das Skript in den Management Studio-Abfrage-Editor geladen wurde, können Sie über die Schaltflächen Geschätzten Ausführungsplan anzeigen oder Tatsächlichen Ausführungsplan einschließen auf der Symbolleiste des Abfrage-Editors entweder einen geschätzten oder den tatsächlichen Ausführungsplan aufrufen. Wenn Sie auf Geschätzten Ausführungsplan anzeigen klicken, wird das Skript vom Parser analysiert und anschließend ein geschätzter Ausführungsplan generiert. Wenn Sie auf Tatsächlichen Ausführungsplan einschließen klicken, müssen Sie das Skript erst ausführen, bevor der Ausführungsplan generiert wird. Nachdem das Skript analysiert oder ausgeführt wurde, können Sie auf die Registerkarte Ausführungsplan klicken, um sich eine grafische Darstellung der Ausführungsplanausgabe anzusehen.

Der grafische Ausführungsplan von Management Studio und die Showplan Transact-SQL SET-Anweisungsoptionen können nur von Benutzern verwendet werden, die die zum Ausführen der Transact-SQL-Anweisungen und -Abfragen erforderlichen Berechtigungen besitzen. Darüber hinaus müssen den Benutzern für alle Datenbanken mit Objekten, auf die verwiesen wird, SHOWPLAN-Berechtigungen erteilt werden. Weitere Informationen finden Sie unter Showplansicherheit.

Lesen der Ausgabe des grafischen Ausführungsplans

Um den Ausführungsplan anzuzeigen, klicken Sie im Ergebnisbereich auf die Registerkarte Ausführungsplan. Die Ausgabe des grafischen Ausführungsplans in SQL Server Management Studio wird von rechts nach links und von oben nach unten gelesen. Jede Abfrage im Batch, die analysiert wird, wird einschließlich des prozentualen Kostenanteils der Abfrage an den Batchgesamtkosten angezeigt. Weitere Informationen zu den beim Anzeigen von Ausführungsplänen in Management Studio verwendeten Symbolen finden Sie unter Symbole im grafischen Ausführungsplan (SQL Server Management Studio).

Die folgenden Erklärungen sind Richtlinien für die Interpretation der grafischen Ausführungsplanausgabe in Management Studio:

  • Jeder Knoten in der Struktur wird als Symbol dargestellt, das die logischen und physischen Operatoren angibt, die zum Ausführen des betreffenden Abfrage- oder Anweisungsteils verwendet werden.

  • Jeder Knoten steht in Beziehung zu einem übergeordneten Knoten. Alle Knoten mit demselben übergeordneten Knoten werden in derselben Spalte dargestellt. Das heißt jedoch nicht, dass die Knoten in einer Spalte unbedingt zu ein und demselben übergeordneten Knoten gehören. Pfeile verbinden jeden Knoten mit seinem übergeordneten Knoten.

  • Operatoren werden als Symbole dargestellt, die sich auf einen bestimmten übergeordneten Knoten beziehen.

  • Die Breite des Pfeiles ist proportional zur Anzahl der Zeilen. Sofern verfügbar, wird die tatsächliche Anzahl von Zeilen verwendet. Andernfalls wird die geschätzte Zeilenanzahl verwendet.

  • Wenn die Abfrage mehrere Anweisungen enthält, werden mehrere Abfrageausführungspläne gezeichnet.

  • Die Elemente der Strukturen werden bestimmt vom Typ der ausgeführten Anweisung.

  • Bei parallelen Abfragen mit mehreren CPUs werden in den Eigenschaften der einzelnen Knoten des grafischen Ausführungsplans Informationen zu den verwendeten Betriebssystemthreads angezeigt. Um die Eigenschaften eines Knotens anzuzeigen, klicken Sie mit der rechten Maustaste auf den Knoten, und klicken Sie dann auf Eigenschaften. Weitere Informationen zu parallelen Abfragen finden Sie unter Parallele Abfrageverarbeitung.

    Anweisungstyp

    Strukturelement

    Transact-SQL und gespeicherte Prozeduren

    Wenn die Anweisung eine gespeicherte Prozedur oder eine Transact-SQL-Anweisung ist, wird sie zum Stammelement der Struktur des grafischen Ausführungsplans. Die gespeicherte Prozedur kann mehrere untergeordnete Knoten besitzen. Diese stellen die Anweisungen dar, die von der gespeicherten Prozedur aufgerufen werden. Jedes untergeordnete Element ist ein Knoten oder Zweig der Struktur.

    Data Manipulation Language (DML, Datenbearbeitungssprache)

    Wenn die vom SQL Server-Abfrageoptimierer analysierte Anweisung eine DML-Anweisung ist, wie SELECT, INSERT, DELETE oder UPDATE, bildet sie das Stammelement der Struktur. DML-Anweisungen können bis zu zwei untergeordnete Knoten besitzen. Der erste untergeordnete Knoten ist der Ausführungsplan für die DML-Anweisung. Der zweite untergeordnete Knoten stellt einen Trigger dar, sofern in oder von der Anweisung verwendet.

    Bedingte Anweisung

    Der grafische Ausführungsplan teilt bedingte Anweisungen, z. B. IF...ELSE-Anweisungen (WENN Bedingung vorhanden ist, DANN führe Folgendes aus, SONST führe folgende Anweisung aus), in drei untergeordnete Knoten auf. Die IF...ELSE-Anweisung bildet das Stammelement der Struktur. Die IF-Bedingung bildet einen Teilstrukturknoten. Die THEN- und ELSE-Bedingungen werden als Anweisungsblöcke dargestellt. WHILE- und DO-UNTIL-Anweisungen werden mit einem ganz ähnlichen Plan dargestellt. IF und WHILE haben eigene Symbole.

    Relationale Operatoren

    Vom Abfragemodul ausgeführte Vorgänge, wie Tabellenscans, Verknüpfungen und Aggregationen, werden als Strukturknoten dargestellt.

    DECLARE CURSOR

    Die DECLARE CURSOR-Anweisung ist das Stammelement der Struktur des grafischen Ausführungsplans, wobei die zugehörige Anweisung einen untergeordneten Knoten bildet.

Jedem der drei Symboltypen wurden unterschiedliche Farben zugeordnet: Iterationssymbole (logische und physische Operatoren) sind blau, Cursorsymbole sind gelb, und Sprachelemente sind grün.

QuickInfos für Knoten im grafischen Ausführungsplan

Sobald Sie mit dem Cursor auf einen Knoten zeigen, wird eine entsprechende QuickInfo für den Knoten angezeigt. Die angezeigten Informationen sind in der folgenden Tabelle enthalten. Die hier beschriebenen QuickInfos gibt es jedoch nicht für alle Knoten eines grafischen Ausführungsplans.

QuickInfo-Element

Beschreibung

Physische Operation

Der verwendete physische Operator, z. B. Hash Join oder Nested Loops. Rot dargestellte physische Operatoren zeigen an, dass der Abfrageoptimierer eine Warnung ausgegeben hat, z. B. fehlende Spaltenstatistik oder fehlende Verknüpfungsprädikate. Dies kann dazu führen, dass der Abfrageoptimierer einen weniger effizienten Ausführungsplan auswählt als sonst zu erwarten wäre. Weitere Informationen zu Spaltenstatistiken finden Sie unter Verwenden von Statistiken zum Verbessern der Abfrageleistung.

Wenn der grafische Ausführungsplan die Erstellung oder Aktualisierung einer Statistik oder die Erstellung eines Indizes vorschlägt, können die fehlenden Spaltenstatistiken oder Indizes mithilfe der Kontextmenüs des Objekt-Explorers in SQL Server Management Studio sofort erstellt bzw. aktualisiert werden. Weitere Informationen finden Sie unter Indizes (Themen zur Vorgehensweise).

Logische Operation

Der verwendete logische Operator, der dem physischen Operator entspricht, z. B. der Inner Join-Operator. Der logische Operator wird am Anfang der QuickInfo nach dem physischen Operator aufgelistet.

Geschätzte Zeilenlänge

Der geschätzte Umfang der vom Operator ausgegebenen Zeile (in Bytes).

Geschätzte E/A-Kosten

Die geschätzten Kosten der gesamten E/A-Aktivität für die Operation. Dieser Wert sollte möglichst klein sein.

Geschätzte CPU-Kosten

Die geschätzten Kosten der gesamten CPU-Aktivität für die Operation.

Geschätzte Operatorkosten

Gesamtkosten, die der Abfrageoptimierer beim Ausführen dieser Operation verursacht. Der prozentuale Kostenanteil dieser Operation an den Abfragegesamtkosten ist in Klammern angegeben. Da das Abfragemodul die Operation auswählt, mit der die Abfrage oder Anweisung am effizientesten ausgeführt wird, sollte dieser Wert möglichst gering sein.

Geschätzte Unterstrukturkosten

Gesamtkosten, die der Abfrageoptimierer beim Ausführen dieser Operation und aller in derselben Unterstruktur vorhergehenden Operationen verursacht.

Geschätzte Anzahl von Zeilen1

Anzahl der Zeilen, die der Operator erstellt.

1 Dieses QuickInfo-Element wird im tatsächlichen Ausführungsplan als Zeilenanzahl angezeigt.

HinweisHinweis

Die in SQL Server 2000 in den Argumentfeldern der grafischen Ausführungspläne enthaltenen Informationen werden jetzt in den QuickInfos der grafischen Ausführungspläne separat angezeigt.

Eigenschaften für Knoten im grafischen Ausführungsplan

Um detaillierte Informationen zu Knoten im grafischen Ausführungsplan anzuzeigen, klicken Sie mit der rechten Maustaste auf den Knoten, und klicken Sie anschließend auf Eigenschaften.