Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Co to jest CZAS STATYSTYKI w SQL Server?

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)

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Domyślna kolejność wierszy w zapytaniu SELECT — SQL Server 2008 vs SQL 2012

  2. Eskalacja blokady serwera SQL

  3. Jak przekonwertować DateTime na VarChar

  4. Zaktualizuj wiele kolumn w SQL

  5. Jak SHOWPLAN_XML działa w SQL Server