1

糾正我,如果我錯了,SQL服務器的CPU利用率VS長時間運行的查詢

根據SQL服務器,如果查詢了更多的CPU時間,那麼它認爲是一個高CPU消耗查詢。

我的問題 - Is all Long running queries are high CPU consuming queries?

或者給我打一針說明,以確定它們之間的區別。

+1

一些長時間運行的查詢是CPU綁定的。另外兩種可能性是IO綁定或「死鎖」。 –

回答

0

我的問題 - 是所有長時間運行的查詢是高CPU消耗 查詢?

絕對不是。未正在執行(消耗CPU)的查詢正在等待資源或操作完成。這就是爲什麼分析等待統計數據是一種常見的性能調優方法,在Brent Ozar's article中進行了總結。

長時間運行的查詢不受CPU限制的常見情況包括阻塞, 磁盤I/O和網絡等待,內存授予等待,非生產性工作,如hash and sort spills

查詢和索引調整可以幫助緩解上述問題,但性能最終會受到硬件功能的限制。服務器必須根據預期的工作負載進行調整。