当我在SSMS中提交一个批处理(例如,执行一个查询)时,我在状态栏中看到它执行所花费的时间。是否可以配置SSMS以毫秒级分辨率显示查询时间?
下面是我所说的条形图,其中感兴趣的部分用红色圈了起来:
当我在SSMS中提交一个批处理(例如,执行一个查询)时,我在状态栏中看到它执行所花费的时间。是否可以配置SSMS以毫秒级分辨率显示查询时间?
下面是我所说的条形图,其中感兴趣的部分用红色圈了起来:
当前回答
我不知道如何扩展信息栏。
但是您可以在“Messages”选项卡中为所有查询设置默认时间。
在查询窗口中,进入“查询菜单”项,选择“查询选项”,然后在“执行”组中选择“高级”,并勾选“设置统计时间”/“设置统计IO”复选框。 然后,这些值将显示在每个查询的消息区域中,而不必记得将设置的统计信息设置为开启和关闭。
您还可以使用Shift + Alt + S在任何时候启用客户端统计
其他回答
通过执行以下操作之一打开客户端统计信息:
菜单:查询>包含客户端统计信息 工具栏:单击按钮(包括实际执行时间旁边) 键盘:Shift-Alt-S
然后你会得到一个新标签,它记录了(最多)最近10次执行的时间,IO数据和行数等(加上平均值!):
通过按Ctrl+Alt+S包含客户端统计信息。 然后,下面的统计信息选项卡中将显示所有执行信息。
我也在寻找同样的东西,偶然发现了下面这个非常棒的链接:
http://www.sqlserver.info/management-studio/show-query-execution-time/
它展示了三种不同的衡量绩效的方法。一切都对自己的长处有利。我的选择如下:
DECLARE @Time1 DATETIME
DECLARE @Time2 DATETIME
SET @Time1 = GETDATE()
-- Insert query here
SET @Time2 = GETDATE()
SELECT DATEDIFF(MILLISECOND,@Time1,@Time2) AS Elapsed_MS
这将显示查询的结果,以及完成查询所花费的时间。
希望这能有所帮助。
我不知道如何扩展信息栏。
但是您可以在“Messages”选项卡中为所有查询设置默认时间。
在查询窗口中,进入“查询菜单”项,选择“查询选项”,然后在“执行”组中选择“高级”,并勾选“设置统计时间”/“设置统计IO”复选框。 然后,这些值将显示在每个查询的消息区域中,而不必记得将设置的统计信息设置为开启和关闭。
您还可以使用Shift + Alt + S在任何时候启用客户端统计
你可以试试下面的代码:
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