Hvis du ønsker en mere præcis måling end svaret ovenfor:
set statistics time on
-- Query 1 goes here
-- Query 2 goes here
set statistics time off
Resultaterne vil være i Beskeder vindue.
Opdatering (2015-07-29):
På populær anmodning har jeg skrevet et kodestykke, som du kan bruge til at time en hel lagret procedure, snarere end dens komponenter. Selvom dette kun returnerer den tid, det tog den sidste kørsel, er der yderligere statistik returneret af sys.dm_exec_procedure_stats
som også kan være af værdi:
-- Use the last_elapsed_time from sys.dm_exec_procedure_stats
-- to time an entire stored procedure.
-- Set the following variables to the name of the stored proc
-- for which which you would like run duration info
DECLARE @DbName NVARCHAR(128);
DECLARE @SchemaName SYSNAME;
DECLARE @ProcName SYSNAME=N'TestProc';
SELECT CONVERT(TIME(3),DATEADD(ms,ROUND(last_elapsed_time/1000.0,0),0))
AS LastExecutionTime
FROM sys.dm_exec_procedure_stats
WHERE OBJECT_NAME(object_id,database_id)[email protected] AND
(OBJECT_SCHEMA_NAME(object_id,database_id)[email protected] OR @SchemaName IS NULL) AND
(DB_NAME(database_id)[email protected] OR @DbName IS NULL)