W SQL Server możesz użyć SET STATISTICS XML
instrukcja do generowania szczegółowych informacji o tym, jak została wykonana instrukcja T-SQL.
Te informacje są dostarczane w formie dobrze sformatowanego dokumentu XML.
Raz SET STATISTICS XML
jest ustawiony na ON
, każda kolejna instrukcja jest odzwierciedlana w danych wyjściowych w pojedynczym dokumencie XML.
Każdy dokument XML zawiera tekst instrukcji, a następnie szczegóły kroków wykonania.
Dane wyjściowe pokazują informacje o czasie wykonywania, takie jak koszty, indeksy, do których uzyskano dostęp, typy wykonywanych operacji, kolejność łączenia, liczba wykonanych operacji fizycznych, liczba wierszy wyprodukowanych przez każdego operatora fizycznego i inne.
Przykład
Oto prosty przykład do zademonstrowania.
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;
Wynik:
Gdy zrobisz to za pomocą narzędzia graficznego, takiego jak SSMS lub Azure Data Studio (na zdjęciu), prawdopodobnie zobaczysz graficzny plan zapytań, taki jak na zrzucie ekranu.
W takim przypadku prawdopodobnie będziesz mógł klikać różne zakładki, aby zobaczyć rzeczywiste wyniki, a także inne dane statystyczne.
Oto, co się dzieje, gdy klikam Wyniki zakładka:
W tym przypadku mogę zobaczyć rzeczywiste wyniki oraz kolejny wiersz z XML Showplan. Kliknięcie tego wiersza otwiera dokument XML w nowym oknie:
A oto, co się dzieje, gdy klikam Najważniejsze operacje zakładka:
Jak to wyłączyć
Ustawianie STATISTICS XML
na ON
wpływa na wszystkie kolejne instrukcje T-SQL, dopóki nie zostanie wyłączone.
Aby go wyłączyć, po prostu uruchom go ponownie, używając OFF
zamiast ON
:
SET STATISTICS XML OFF;
STATISTICS XML
Zastępuje STATISTICS PROFILE
Zgodnie z dokumentacją Microsoft, SET STATISTICS XML
powinien być używany zamiast SET STATISTICS PROFILE
.
SET STATISTICS PROFILE i SET STATISTICS XML są swoimi odpowiednikami. Pierwsza z nich produkuje tekst; ten ostatni generuje dane wyjściowe XML. W przyszłych wersjach SQL Server nowe informacje o planie wykonania zapytania będą wyświetlane tylko za pomocą instrukcji SET STATISTICS XML, a nie instrukcji SET STATISTICS PROFILE.
STATYSTYKI XML a uwzględnienie rzeczywistego planu wykonania
Jeśli Dołącz rzeczywisty plan wykonania jest wybrany w SSMS, SET STATISTICS XML
nie generuje danych wyjściowych XML Showplan. Wyczyść Uwzględnij rzeczywisty plan wykonania przycisk przed użyciem SET STATISTICS XML
.