Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Was ist STATISTIK-XML in SQL Server?

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 .