V SQL Server můžete použít SET STATISTICS TIME
příkaz k zobrazení času potřebného k provedení příkazu T-SQL.
Přesněji řečeno, vrací počet milisekund potřebných k analýze, kompilaci a provedení každého příkazu.
Když SET STATISTICS TIME
je ON
, zobrazí se časové statistiky pro výpis. Když je OFF
, časové statistiky se nezobrazují.
Nastavení SET STATISTICS TIME
je nastaven v době spuštění nebo běhu, nikoli v době analýzy.
Příklad
Zde je jednoduchý příklad k demonstraci.
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
Výsledek:
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.
Používáte GUI?
Pokud dotaz spouštíte v GUI, jako je SSMS nebo Azure Data Studio, možná budete muset kliknout na Zprávy kartu nebo podobně, abyste viděli časové statistiky.
Zde je to, co se stane, když spustím předchozí dotaz v Azure Data Studio.
Dostávám výsledky, ale žádný STATISTICS TIME
informace. K zobrazení těchto informací musím kliknout na Zprávy . Jakmile to udělám, uvidím relevantní informace.
Následné dotazy
Po nastavení na ON
, všechny následující dotazy vrátí STATISTICS TIME
informace, dokud není nastaveno na OFF
.
Zde je další ad hoc dotaz, který jsem spustil v rozhraní příkazového řádku hned po prvním.
SELECT COUNT(*) FROM Application.People;
Výsledek:
+--------------------+ | (No column name) | |--------------------| | 1111 | +--------------------+ SQL Server parse and compile time: CPU time = 6 ms, elapsed time = 6 ms.
Již jsem nastavil STATISTICS TIME
na ON
dříve, proto to není třeba opakovat.
Vypnout
Chcete-li jej vypnout, jednoduše jej nastavte na OFF
.
SET STATISTICS TIME OFF;
Nyní, když spouštím příkazy T-SQL, již nedostávám časové statistiky pod dotazem.
SELECT COUNT(*) FROM Application.People;
Výsledek:
+--------------------+ | (No column name) | |--------------------| | 1111 | +--------------------+ (1 row affected)