簡體   English   中英

SQL Server Profiler

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM