如何在SQL Server中获取事务执行时间



我想在SQL Server 2008 R2中获取事务执行时间我想以编程方式获得这段时间,并将其保存在表中。怎么做?

保存查询前后的时间并计算区别,类似于这样:

DECLARE @start_time DATETIME, @end_time DATETIME
SET @start_time = CURRENT_TIMESTAMP
 -- query goes here
SET @end_time = CURRENT_TIMESTAMP
SELECT DATEDIFF(ms, @start_time, @end_time)

在执行事务之前,请尝试在连接上执行"SET STATISTICS TIME ON;"。

JohnC是对的,这可能就是您想要的。

但根据您的具体需求,还有其他选择。首先,当您执行查询时,SSMS告诉您在右下角传递的时间量,至少到第二个。

当然,您可以使用getdate()从SQL Server中获取执行前后的时间,并找出差异。

对于大量查询的重复测试,您还可以用其他语言(如python)构建一个测试工具,并使用timeit等库。

最新更新