0

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

4

3 回答 3

7

保存查询前后的时间并计算差异,如下所示:

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)
于 2012-07-13T17:00:51.737 回答
4

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

于 2012-07-13T16:51:44.437 回答
2

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

但根据您的确切需求,还有其他选择。一方面,SSMS 告诉您执行查询时在右下角传递的时间量(至少到秒)。

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

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

于 2012-07-13T17:01:12.090 回答