SQL Server Management Studio中,如何将执行时间缩短到毫秒
当我在SSMS中提交批处理(例如,执行查询)时,我看到了在状态栏中执行的时间。 是否可以configurationSSMS以毫秒分辨率显示查询时间?
这是我正在谈论的红色圆圈利息部分:
你想要做的是这样的:
set statistics time on -- your query set statistics time off
这将在消息窗口中看起来像这样的输出:
SQL Server执行时间:CPU时间= 6毫秒,经过时间= 6毫秒。
通过执行以下任一操作打开客户端统计信息 :
- 菜单:查询>包含客户端统计信息
- 工具栏:点击button(包括实际执行时间旁边)
- 键盘:Shift-Alt-S
然后你会得到一个新的标签,它logging了最近10次压缩(加上平均数)的时间,IO数据和行数等等:
我一直在努力,直到我发现这个…
此外,如果你打开属性窗口,你可能会发现一些神奇的“连接stream逝的时间”,可能会给你一些执行时间…希望它有帮助…
要在执行过程中获得执行时间:
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]
看到这个
衡量查询性能:“执行计划查询成本”与“时间”
我不知道如何扩大信息栏。
但是您可以将所有查询的时间设置为“消息”(Messages)选项卡中显示的所有查询的默认时间。
在“查询”窗口中,进入查询菜单项,select“查询选项”,在“执行”组中select“高级”,勾选“设置统计时间”/“设置统计IO”checkbox。 然后这些值将显示在每个查询的消息区域,而不必记住打开和closures设置的统计数据。
您也可以随时使用Shift + Alt + S启用客户端统计信息
我是在同样的事情后,偶然发现了以下这个辉煌的联系:
http://www.sqlserver.info/management-studio/show-query-execution-time/
它显示了三种不同的衡量performance的方法。 一切都有利于自己的长处。 我select的是如下:
DECLARE @ Time1 DATETIME
DECLARE @ Time2 DATETIME
SET @ Time1 = GETDATE()
– 在这里插入查询
SET @ Time2 = GETDATE()
SELECT DATEDIFF(MILLISECOND,@ Time1,@ Time2)AS Elapsed_MS
这将显示查询结果,然后显示完成所需的时间。
希望这可以帮助。
你可以试试这个代码:
USE AdventureWorks2012; GO SET STATISTICS TIME ON; GO SELECT ProductID, StartDate, EndDate, StandardCost FROM Production.ProductCostHistory WHERE StandardCost < 500.00; GO SET STATISTICS TIME OFF; GO