W SQL Server możesz użyć SET STATISTICS TIME
instrukcja, aby wyświetlić czas potrzebny do wykonania instrukcji T-SQL.
Dokładniej, zwraca liczbę milisekund potrzebną do przeanalizowania, kompilacji i wykonania każdej instrukcji.
Gdy SET STATISTICS TIME
jest ON
, wyświetlane są statystyki czasowe dla wyciągu. Gdy OFF
, statystyki czasu nie są wyświetlane.
Ustawienie SET STATISTICS TIME
jest ustawiony w czasie wykonywania lub wykonywania, a nie w czasie analizy.
Przykład
Oto prosty przykład do zademonstrowania.
SET STATISTICS TIME ON;
GO
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;
GO
Wynik:
Commands completed successfully. +-------------+------------+--------------+ | CityName | State | Population | |-------------+------------+--------------| | New York | New York | 8175133 | | Los Angeles | California | 3792621 | | Chicago | Illinois | 2695598 | | Brooklyn | New York | 2565635 | | Queens | New York | 2272771 | | Houston | Texas | 2099451 | +-------------+------------+--------------+ SQL Server parse and compile time: CPU time = 4 ms, elapsed time = 6 ms. Commands completed successfully.
Korzystasz z GUI?
Jeśli uruchamiasz zapytanie w graficznym interfejsie użytkownika, takim jak SSMS lub Azure Data Studio, może być konieczne kliknięcie Wiadomości lub podobny w celu wyświetlenia statystyk czasu.
Oto, co się dzieje, gdy uruchamiam poprzednie zapytanie w Azure Data Studio.
Otrzymuję wyniki, ale nie STATISTICS TIME
Informacja. Aby wyświetlić te informacje, muszę kliknąć Wiadomości . Gdy to zrobię, widzę odpowiednie informacje.
Kolejne zapytania
Po ustawieniu na ON
, kolejne zapytania zwrócą STATISTICS TIME
informacje, dopóki nie zostanie ustawione na OFF
.
Oto kolejne zapytanie ad hoc, które uruchomiłem w interfejsie wiersza poleceń tuż po pierwszym.
SELECT COUNT(*) FROM Application.People;
Wynik:
+--------------------+ | (No column name) | |--------------------| | 1111 | +--------------------+ SQL Server parse and compile time: CPU time = 6 ms, elapsed time = 6 ms.
Ustawiłem już STATISTICS TIME
na ON
wcześniej, dlatego nie trzeba tego robić ponownie.
Wyłącz
Aby go wyłączyć, po prostu ustaw go na OFF
.
SET STATISTICS TIME OFF;
Teraz, kiedy uruchamiam instrukcje T-SQL, nie otrzymuję już statystyk czasu pod zapytaniem.
SELECT COUNT(*) FROM Application.People;
Wynik:
+--------------------+ | (No column name) | |--------------------| | 1111 | +--------------------+ (1 row affected)