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

时间:2012-07-13 16:47:12

标签: sql sql-server sql-server-2008

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

3 个答案:

答案 0 :(得分:6)

保存查询前后的时间并进行计算 区别,如下:

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)

答案 1 :(得分:4)

尝试执行“SET STATISTICS TIME ON”;在执行交易之前在您的连接上。

答案 2 :(得分:2)

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

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

当然,您使用getdate()在执行之前和之后立即从SQL Server获取时间并找到差异。

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