Nếu bạn muốn một phép đo chính xác hơn câu trả lời ở trên:
set statistics time on
-- Query 1 goes here
-- Query 2 goes here
set statistics time off
Kết quả sẽ có trong phần Tin nhắn cửa sổ.
Cập nhật (2015-07-29):
Theo yêu cầu phổ biến, tôi đã viết một đoạn mã mà bạn có thể sử dụng để định thời gian chạy toàn bộ quy trình được lưu trữ, thay vì các thành phần của nó. Mặc dù điều này chỉ trả về thời gian được thực hiện bởi lần chạy cuối cùng, có các số liệu thống kê bổ sung được trả về bởi sys.dm_exec_procedure_stats
điều đó cũng có thể có giá trị:
-- 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)