當我在SSMS中提交批處理(例如,執行查詢)時,我看到在狀態欄中執行所花的時間。是否可以配置SSMS以毫秒分辨率顯示查詢時間?SQL Server Management Studio中,如何將執行時間縮短到毫秒
這裏是我與感興趣的部分談到了酒吧紅色圓圈:
當我在SSMS中提交批處理(例如,執行查詢)時,我看到在狀態欄中執行所花的時間。是否可以配置SSMS以毫秒分辨率顯示查詢時間?SQL Server Management Studio中,如何將執行時間縮短到毫秒
這裏是我與感興趣的部分談到了酒吧紅色圓圈:
你想要做的是這樣的:
set statistics time on
-- your query
set statistics time off
這將有輸出在消息窗口中看起來像這樣:
SQL Server執行Tim es:CPU時間= 6 ms,經過時間= 6 ms。
但是這將時間放在消息窗口中,這意味着在執行查詢後我必須手動翻轉它。而且,結果似乎沒有意義,例如:CPU時間= 1357毫秒,經過時間= 169毫秒。即使我擁有8個帶有超線程的內核(即16個虛擬內存),這又如何加起來呢? –
@MichaelGoldshteyn不幸的是,我不認爲有一種方法可以修改SSMS狀態欄中的已用時間。我認爲你唯一的選擇將其捕獲到'MS'將是我的職位。 – 2011-11-23 19:03:15
@MichaelGoldshteyn至於爲什麼你的CPU時間更長,這是因爲你有一個多核或超線程CPU。 – 2011-11-23 19:04:02
我與掙扎,直到我發現這個...
另外,如果你打開屬性窗口中,你可能會發現一些神奇的「連接經過時間」,可能會給你一些執行時間... 希望它可以幫助...
關於屬性窗口的部分實際上是這個線程的答案。 「逝去的時間」坐在那裏凝視着你的臉。 – radpin
要得到執行時間爲您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]
看這
Measuring Query Performance : "Execution Plan Query Cost" vs "Time Taken"
Datepart NS代表毫微秒,使用毫秒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
我不知道關於擴大信息欄做。
但是,您可以將設置的時間設置爲默認顯示在「消息」選項卡中的所有查詢。
在查詢窗口中,進入查詢菜單項,選擇「查詢選項」,然後在「執行」組中選擇「高級」並選中「設置統計時間」/「設置統計IO」複選框。 這些值將顯示在每個查詢的消息區域中,而不必記住打開和關閉設置的統計數據。
你也可以使用Shift + Alt鍵+ S通過執行下列操作之一在任何時間,以使客戶端統計
我是同樣的事情後遇到下列鏈接,是輝煌的偶然:
http://www.sqlserver.info/management-studio/show-query-execution-time/
它顯示性能測量的三種不同的方式。一切都有利於自己的長處。我選擇了一個如下:
DECLARE @時間1 DATETIME
DECLARE @時間2 DATETIME
SET @時間1 = GETDATE()
- 在這裏插入查詢
SET @ Time2 = GETDATE()
SELECT DATEDIFF(MILLISE COND,@時間1,@時間2)AS Elapsed_MS
這將顯示您的查詢,然後花費的時間完成量的結果。
希望這會有所幫助。
並非真正回答您的問題,但您可以使用SQL Server Profiler(一種日誌工具)來檢查查詢的持續時間。持續時間以毫秒爲單位進行測量。 – AGuyCalledGerald