[英]SQL Server Profiler
使用SQL Server分析器時持續時間和CPU之間有什么區別? 我知道默認情況下兩者都顯示為MilliSeconds,CPU是運行查詢所花費的CPU時間量,而持續時間更像是查詢返回任何數據所花費的時間。
根據我的理解,如果有任何阻塞等,你的CPU時間可能會更少,但持續時間可能會更長。
任何人都可以提供更多洞察力嗎? 爭奪BOL但很難找到微妙的差異。
CPU時間表示所有CPU上的請求/語句(取決於您正在監視的事件)主動(未掛起)消耗的時間。 對於單線程查詢,這將始終小於或等於經過的時間(持續時間=掛鍾時間)。 但對於並行查詢,CPU時間可能會超過經過的時間,因為它會累計來自多個CPU的CPU時間。
通常,經過時間和CPU時間之間的區別適用於SQL Server中的任何位置,從SET STATISTICS TIME ON
輸出到DMV,如sys.dm_exec_query_stats
(其中CPU時間稱為worker_time
)或sys.dm_exec_requests
(在此DMV中再次命名為cpu_time
)。
持續時間可以包括等待時間,I / O,數據傳輸時間等CPU 只是 CPU所花費的時間。 如果您的查詢受CPU約束,那么它將比I / O或內存限制更接近。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.