In SQL Server kunt u de SET STATISTICS TIME
. gebruiken statement om de tijd weer te geven die nodig is om een T-SQL-statement uit te voeren.
Meer specifiek geeft het het aantal milliseconden terug dat nodig is om elke instructie te ontleden, compileren en uitvoeren.
Wanneer SET STATISTICS TIME
is ON
, worden de tijdstatistieken voor een afschrift weergegeven. Wanneer OFF
, worden de tijdstatistieken niet weergegeven.
De instelling van SET STATISTICS TIME
is ingesteld op uitvoerings- of runtime en niet op parseertijd.
Voorbeeld
Hier is een eenvoudig voorbeeld om te demonstreren.
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
Resultaat:
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.
Gebruik je een GUI?
Als u uw query uitvoert in een GUI zoals SSMS of Azure Data Studio, moet u mogelijk op de Berichten klikken tabblad of iets dergelijks om de tijdstatistieken te bekijken.
Dit is wat er gebeurt als ik de vorige query in Azure Data Studio uitvoer.
Ik krijg de resultaten, maar geen STATISTICS TIME
informatie. Om die informatie te bekijken, moet ik op Berichten . klikken . Zodra ik dat heb gedaan, kan ik de relevante informatie zien.
Vervolgvragen
Eenmaal ingesteld op ON
, zullen eventuele volgende zoekopdrachten de STATISTICS TIME
informatie, totdat het is ingesteld op OFF
.
Hier is nog een ad-hocquery die ik net na de eerste in mijn opdrachtregelinterface heb uitgevoerd.
SELECT COUNT(*) FROM Application.People;
Resultaat:
+--------------------+ | (No column name) | |--------------------| | 1111 | +--------------------+ SQL Server parse and compile time: CPU time = 6 ms, elapsed time = 6 ms.
Ik had al STATISTICS TIME
ingesteld naar ON
eerder, dus het is niet nodig om het opnieuw te doen.
Zet het uit
Om het uit te zetten, zet je het gewoon op OFF
.
SET STATISTICS TIME OFF;
Als ik nu T-SQL-instructies uitvoer, krijg ik niet langer de tijdstatistieken onder de query.
SELECT COUNT(*) FROM Application.People;
Resultaat:
+--------------------+ | (No column name) | |--------------------| | 1111 | +--------------------+ (1 row affected)