SQL Server 存储过程是否针对执行时间进行了自我分析?



我需要在表中查找并存储每次执行过程时的执行时间。

有没有办法从程序中做到这一点?假设使用查询来查找其执行时间并将其写入表中?

除了使用探查器和过滤数千条记录之外,还有其他更好的方法来记录过程的执行时间吗?

谢谢

您可以简单地使用两个参数,并在过程开始时初始化一个参数,在过程结束时初始化下一个参数。

create procedure myproc as
begin
declare @start_time datetime = getdate()
(rest of procedure code)
declare @end_time datetime = getdate()
end

在退出该过程之前,您可以将这些值插入到日志记录表中。

INSERT INTO Proc_Exec_Log (procedure_name, start_time, end_time) 
VALUES ('myproc', @start_time, @end_time);