当我在SSMS中提交一个批处理(例如,执行一个查询)时,我在状态栏中看到它执行所花费的时间。是否可以配置SSMS以毫秒级分辨率显示查询时间?
下面是我所说的条形图,其中感兴趣的部分用红色圈了起来:
当我在SSMS中提交一个批处理(例如,执行一个查询)时,我在状态栏中看到它执行所花费的时间。是否可以配置SSMS以毫秒级分辨率显示查询时间?
下面是我所说的条形图,其中感兴趣的部分用红色圈了起来:
当前回答
我也在寻找同样的东西,偶然发现了下面这个非常棒的链接:
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
这将显示查询的结果,以及完成查询所花费的时间。
希望这能有所帮助。
其他回答
我也在寻找同样的东西,偶然发现了下面这个非常棒的链接:
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
这将显示查询的结果,以及完成查询所花费的时间。
希望这能有所帮助。
你要做的是:
set statistics time on
-- your query
set statistics time off
这将在你的Messages窗口中有类似这样的输出:
SQL Server执行时间:CPU时间= 6毫秒,运行时间= 6毫秒。
我一直在挣扎,直到我发现了这个……
http://blog.sqlauthority.com/2009/10/01/sql-server-sql-server-management-studio-and-client-statistics/
此外,如果你打开属性窗口,你可能会发现一些神奇的“连接运行时间”,这可能会给你一些执行时间…… 希望能有所帮助……
通过按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“花费的时间”