sql >> Databasteknik >  >> RDS >> Sqlserver

Mät den tid det tar att köra en t-sql-fråga

Om du vill ha en mer exakt mätning än svaret ovan:

set statistics time on 

-- Query 1 goes here

-- Query 2 goes here

set statistics time off

Resultaten kommer att finnas i Meddelanden fönster.

Uppdatering (2015-07-29):

På populär begäran har jag skrivit ett kodavsnitt som du kan använda för att tajma en hel lagrad procedurkörning, snarare än dess komponenter. Även om detta bara returnerar tiden som togs av den senaste körningen, finns det ytterligare statistik som returneras av sys.dm_exec_procedure_stats som också kan vara av värde:

-- 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)


  1. ORA-02019:anslutningsbeskrivning för fjärrdatabas hittades inte

  2. Övervakning av prestandaräknare via PERFMON | Felsökning av SQL Server-prestanda -3

  3. MySQL:Begränsa två kolumner så att en av dem alltid är NULL

  4. Vilken ska man ladda ner:JDK eller JRE?