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

下面是我所说的条形图,其中感兴趣的部分用红色圈了起来:


当前回答

通过按Ctrl+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

通过按Ctrl+Alt+S包含客户端统计信息。 然后,下面的统计信息选项卡中将显示所有执行信息。

要在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] 

看这个

度量查询性能:“执行计划查询成本”vs“花费的时间”

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

但是您可以在“Messages”选项卡中为所有查询设置默认时间。

在查询窗口中,进入“查询菜单”项,选择“查询选项”,然后在“执行”组中选择“高级”,并勾选“设置统计时间”/“设置统计IO”复选框。 然后,这些值将显示在每个查询的消息区域中,而不必记得将设置的统计信息设置为开启和关闭。

您还可以使用Shift + Alt + S在任何时候启用客户端统计

我一直在挣扎,直到我发现了这个……

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

此外,如果你打开属性窗口,你可能会发现一些神奇的“连接运行时间”,这可能会给你一些执行时间…… 希望能有所帮助……