In SQL Server können Sie das SET STATISTICS XML
verwenden -Anweisung, um detaillierte Informationen darüber zu generieren, wie eine T-SQL-Anweisung ausgeführt wurde.
Diese Informationen werden in Form eines wohlgeformten XML-Dokuments bereitgestellt.
Einmal SET STATISTICS XML
auf ON
eingestellt ist , wird jede nachfolgende Anweisung in der Ausgabe durch ein einzelnes XML-Dokument wiedergegeben.
Jedes XML-Dokument enthält den Text der Anweisung, gefolgt von den Details der Ausführungsschritte.
Die Ausgabe zeigt Laufzeitinformationen wie Kosten, aufgerufene Indizes und Arten der durchgeführten Operationen, Join-Reihenfolge, die Anzahl der durchgeführten physischen Operationen, die Anzahl der Zeilen, die jeder physische Operator erzeugt hat, und mehr.
Beispiel
Hier ist ein einfaches Beispiel zur Veranschaulichung.
SET STATISTICS XML ON;
SELECT
c.CityName,
s.StateProvinceName AS State,
c.LatestRecordedPopulation AS Population
FROM Application.Cities c
INNER JOIN Application.StateProvinces s
ON c.StateProvinceID = s.StateProvinceID
WHERE c.LatestRecordedPopulation > 2000000
ORDER BY c.LatestRecordedPopulation DESC;
Ergebnis:
Wenn Sie dies mit einem grafischen Tool wie SSMS oder Azure Data Studio (im Bild) tun, sehen Sie wahrscheinlich einen grafischen Abfrageplan wie im Screenshot.
In diesem Fall können Sie wahrscheinlich auf verschiedene Registerkarten klicken, um die tatsächlichen Ergebnisse sowie andere Statistikdaten anzuzeigen.
Folgendes passiert, wenn ich auf die Ergebnisse klicke Registerkarte:
In diesem Fall sehe ich die tatsächlichen Ergebnisse sowie eine weitere Zeile mit dem XML-Showplan. Ein Klick auf diese Zeile öffnet das XML-Dokument in einem neuen Fenster:
Und Folgendes passiert, wenn ich auf die Top-Operationen klicke Registerkarte:
Wie man es ausschaltet
Einstellen von STATISTICS XML
auf ON
wirkt sich auf alle nachfolgenden T-SQL-Anweisungen aus, bis es deaktiviert wird.
Um es auszuschalten, führen Sie es einfach erneut mit OFF
aus statt ON
:
SET STATISTICS XML OFF;
STATISTICS XML
Ersetzt STATISTICS PROFILE
Gemäß der Microsoft-Dokumentation SET STATISTICS XML
sollte anstelle von SET STATISTICS PROFILE
verwendet werden .
SET STATISTICS PROFILE und SET STATISTICS XML sind Gegenstücke zueinander. Ersteres erzeugt eine Textausgabe; letzteres erzeugt eine XML-Ausgabe. In zukünftigen Versionen von SQL Server werden Informationen zum neuen Abfrageausführungsplan nur über die SET STATISTICS XML-Anweisung angezeigt, nicht über die SET STATISTICS PROFILE-Anweisung.
STATISTIK-XML im Vergleich zum tatsächlichen Ausführungsplan einbeziehen
Wenn Aktuellen Ausführungsplan einbeziehen in SSMS ausgewählt ist, SET STATISTICS XML
erzeugt keine XML-Showplan-Ausgabe. Deaktivieren Sie Aktuellen Ausführungsplan einschließen vor der Verwendung von SET STATISTICS XML
.