SQL Server Management Studio,如何将执行时间缩短到毫秒

Mic*_*eyn 213 sql-server ssms sql-server-2008

当我在SSMS中提交批处理(例如,执行查询)时,我看到在状态栏中执行所花费的时间.是否可以配置SSMS以毫秒级分辨率显示查询时间?

这是我正在谈论的用红色圈出的感兴趣部分的酒吧:

在此输入图像描述

小智 350

你想要做的是:

set statistics time on

-- your query

set statistics time off
Run Code Online (Sandbox Code Playgroud)

这将使您的消息窗口中的输出看起来像这样:

SQL Server执行时间:CPU时间= 6毫秒,已用时间= 6毫秒.

  • @MichaelGoldshteyn 1357/8 = 169.625.巧合? (24认同)
  • @binki你是对的,我的1,555天的评论是不准确的. (8认同)
  • @DanJ,DB不会从内存中做任何事情.通常涉及I/O,I/O意味着更多的时间. (3认同)
  • 但这会将时间放在“消息”窗口中,这意味着我必须在执行查询后手动翻转到它。另外,结果似乎没有意义,例如:CPU 时间 = 1357 毫秒,运行时间 = 169 毫秒。即使我确实有 8 个超线程核心(即 16 个虚拟核心),这加起来又如何? (2认同)
  • @MichaelGoldshteyn关于您的CPU时间更长的原因,这是因为您拥有多核或超线程CPU。 (2认同)

Nic*_*ckG 116

通过执行以下操作之一打开客户端统计信息:

  • 菜单:查询>包含客户端统计信息
  • 工具栏:单击按钮(包括实际执行时间旁边)
  • 键盘:Shift-Alt-S

然后你得到一个新标签,记录最后10次执行(加上平均值!)的时间,IO数据和行数等等:

在此输入图像描述

  • 仅供参考,时间统计的单位为毫秒:https://www.brentozar.com/archive/2012/12/sql-server-management-studio-include-client-statistics-button/ (2认同)

Yma*_*rst 55

我一直在努力,直到我发现这个......

http://blog.sqlauthority.com/2009/10/01/sql-server-sql-server-management-studio-and-client-statistics/

此外,如果你打开属性窗口,你可能会发现一些神奇的"连接已用时间"可能会给你一些执行时间...希望它有帮助......

  • 关于"属性"窗口的部分实际上是该线程的答案."经历的时间"正坐在那里盯着你的脸. (11认同)

ati*_*ker 16

To get the execution time as a variable in your proc:

DECLARE @EndTime datetime
DECLARE @StartTime datetime 
SELECT @StartTime=GETDATE() 

-- Write Your Query


SELECT @EndTime=GETDATE()

--This will return execution time of your query
SELECT DATEDIFF(ms,@StartTime,@EndTime) AS [Duration in millisecs] 
Run Code Online (Sandbox Code Playgroud)

AND see this

Measuring Query Performance : "Execution Plan Query Cost" vs "Time Taken"


小智 10

我是在追求同样的事情,偶然发现了以下很棒的链接:

http://www.sqlserver.info/management-studio/show-query-execution-time/

它显示了测量性能的三种不同方法.一切都有利于自己的长处.我选择的那个如下:


DECLARE @ Time1 DATETIME

DECLARE @ Time2 DATETIME

SET @ Time1 = GETDATE()

- 在此处插入查询

SET @ Time2 = GETDATE()

SELECT DATEDIFF(MILLISECOND,@ Time1,@ Time2)AS Elapsed_MS


这将显示查询结果,然后显示完成所需的时间.

希望这可以帮助.


小智 6

我不知道如何扩展信息栏。

但是您可以将“消息”选项卡中显示的所有查询的计时设置为默认值。

在查询窗口中,转到查询菜单项,选择“查询选项”,然后在“执行”组中选择“高级”,并选中“设置统计时间”/“设置统计 IO”复选框。然后,这些值将显示在每个查询的消息区域中,而无需记住打开和关闭设置的统计信息。

您还可以随时使用 Shift + Alt + S 启用客户端统计