Anzeigen von Ausführungsplänen mithilfe der Showplan-SET-Optionen (Transact-SQL)
Über die Optionen der Transact-SQL SET-Anweisung zur Anzeige von Informationen zu Ausführungsplänen erfolgt die Ausgabe im XML-Format und im Textformat. Diese Optionen sind in diesem Thema aufgeführt und erläutert.
Optionen der Showplan-SET-Anweisung
Transact-SQL stellt für die programmzugehörige SET-Anweisung folgende Optionen zur Verfügung, über die ein Abfrageausführungsplan angezeigt werden kann:
Hinweis |
---|
Mit den SET-Optionen SHOWPLAN_XML, SHOWPLAN_ALL und SHOWPLAN_TEXT wird für jeden Batch ein Rowset generiert. Mit den SET-Optionen STATISTICS XML und STATISTICS PROFILE wird ein Rowset für jede Abfrage in einem Batch generiert. |
SET SHOWPLAN_XML ON
Durch diese Anweisung wird SQL Server daran gehindert, Transact-SQL-Anweisungen auszuführen. Stattdessen werden von Microsoft SQL Server Ausführungsplaninformationen zurückgegeben, aus denen hervorgeht, wie Anweisungen in einem wohl geformten XML-Dokument ausgeführt werden. Weitere Informationen finden Sie unter SET SHOWPLAN_XML (Transact-SQL).
SET SHOWPLAN_TEXT ON
Nach Ausführung dieser SET-Anweisung gibt SQL Server die Ausführungsplaninformationen für jede Abfrage im Text zurück. Die Transact-SQL-Anweisungen bzw. -Batches werden nicht ausgeführt. Weitere Informationen finden Sie unter SET SHOWPLAN_TEXT (Transact-SQL).
SET SHOWPLAN_ALL ON
Diese Anweisung ist mit SET SHOWPLAN_TEXT vergleichbar, die Ausgabe ist jedoch ausführlicher ist als die bei SHOWPLAN_TEXT. Weitere Informationen finden Sie unter SET SHOWPLAN_ALL (Transact-SQL).
SET STATISTICS XML ON
Gibt nach der Ausführung der Anweisung zusätzlich zu dem regulären Resultset, das von der Anweisung zurückgegeben wird, Ausführungsinformationen zu den einzelnen Anweisungen zurück. Die Ausgabe besteht aus einem Satz wohl geformter XML-Dokumente. Mit SET STATISTICS XML ON wird für jede ausgeführte Anweisung ein XML-Ausgabedokument generiert. Der Unterschied zwischen SET SHOWPLAN_XML ON und SET STATISTICS XML ON besteht darin, dass mit der zweiten SET-OPTION die Anweisung bzw. der Batch von Transact-SQL ausgeführt wird. Die SET STATISTICS XML ON-Ausgabe gibt außerdem Aufschluss über die tatsächliche Anzahl der von unterschiedlichen Operatoren verarbeiteten Zeilen und die tatsächlich Anzahl an Ausführungen der Operatoren. Weitere Informationen finden Sie unter SET STATISTICS XML (Transact-SQL).
SET STATISTICS PROFILE ON
Gibt nach der Ausführung der Anweisung zusätzlich zu dem regulären Resultset, das von der Anweisung zurückgegeben wird, die Ausführungsinformationen zu den einzelnen Anweisungen zurück. Von beiden Optionen der SET-Anweisung wird die Ausgabe in Textform bereitgestellt. Der Unterschied zwischen SET SHOWPLAN_ALL ON und SET STATISTICS PROFILE ON besteht darin, dass mit der zweiten SET-OPTION die Anweisung bzw. der Batch von Transact-SQL ausgeführt wird. Die SET STATISTICS PROFILE ON-Ausgabe gibt außerdem Aufschluss über die tatsächliche Anzahl der von unterschiedlichen Operatoren verarbeiteten Zeilen und die tatsächlich Anzahl an Ausführungen der Operatoren. Weitere Informationen finden Sie unter SET STATISTICS PROFILE (Transact-SQL).
SET STATISTICS IO ON
Zeigt nach der Ausführung der Anweisung Informationen zum Umfang der Datenträgeraktivität an, die auf Transact-SQL-Anweisungen zurückzuführen ist. Über diese SET-Option wird Ausgabe in Textform generiert. Weitere Informationen finden Sie unter SET STATISTICS IO (Transact-SQL).
SET STATISTICS TIME ON
Zeigt nach der Ausführung der Anweisung an, wie viele Millisekunden zum Analysieren, Kompilieren und Ausführen der einzelnen Transact-SQL-Anweisung benötigt wurden. Bei dieser SET-Option erfolgt die Ausgabe im Textformat. Weitere Informationen finden Sie unter SET STATISTICS TIME (Transact-SQL).
Überlegungen hinsichtlich der Verwendung der Optionen der Showplan-SET-Anweisung
Wenn Sie einen Ausführungsplan mithilfe der Showplan-SET-Optionen anzeigen, werden die von Ihnen an den Server gesendeten Anweisungen nicht ausgeführt. Stattdessen analysiert SQL Server die Abfrage und zeigt mithilfe mehrerer Operatoren an, wie die Anweisungen ausgeführt worden wären.
Hinweis |
---|
Da Anweisungen nicht ausgeführt werden, wenn der Ausführungsplan angezeigt wird, werden Transact-SQL-Operationen nicht ausgeführt. Wenn also beispielsweise eine CREATE TABLE-Anweisung Teil eines Ausführungsplans ist, werden von sämtlichen später ausgeführten Operationen, in die die "erstellte" Tabelle involviert ist, Fehler zurückgegeben, da die Tabelle nicht vorhanden ist. Es gibt jedoch zwei Ausnahmen von dieser Regel: Bei Verwendung der SHOWPLAN-SET-Optionen werden temporäre Tabellen erstellt, und bei Verwendung der SHOWPLAN-SET-Optionen werden USE db_name-Anweisungen ausgeführt, die versuchen, den Datenbankkontext in die mit db_name angegebene Datenbank zu ändern. |
Wenn Sie einen Ausführungsplan mithilfe der STATISTICS SET-Optionen anzeigen, werden die von Ihnen an den Server gesendeten Transact-SQL-Anweisungen ausgeführt.
Hinweis |
---|
Über die Showplan-SET-Optionen werden keine Informationen zu verschlüsselten gespeicherten Prozeduren oder Triggern angezeigt. |
SET-Optionen, die in zukünftigen Showplanversionen als veraltet betrachtet werden
In einer zukünftigen Version von SQL Server werden die nachfolgenden Showplan-SET-Optionen als veraltet markiert. Es empfiehlt sich, möglichst schnell in die neuen Modi zu wechseln. In der nachfolgenden Tabelle sind die Showplan-SET-Optionen aufgeführt, die aufgrund der neuen SET-Optionen, mit denen die Benutzer so bald wie möglich arbeiten sollten, als veraltet gelten.
Als veraltet markierte SET-Option |
Neue zu verwendende SET-Option |
---|---|
SET SHOWPLAN_TEXT |
SET SHOWPLAN_XML |
SET SHOWPLAN_ALL |
SET SHOWPLAN_XML |
SET STATISTICS PROFILE |
SET STATISTICS XML |