Als u een nauwkeurigere meting wilt dan het bovenstaande antwoord:
set statistics time on
-- Query 1 goes here
-- Query 2 goes here
set statistics time off
De resultaten staan in de Berichten venster.
Update (2015-07-29):
Op veler verzoek heb ik een codefragment geschreven dat u kunt gebruiken om een volledige opgeslagen procedure te timen, in plaats van de componenten ervan. Hoewel dit alleen de tijd geeft die nodig was voor de laatste run, zijn er aanvullende statistieken die worden geretourneerd door sys.dm_exec_procedure_stats
dat kan ook van waarde zijn:
-- 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)