Sql-Server

即使 MAXDOP = 1,SQL Server 中的高 CXPACKET 等待類型

  • January 20, 2012

我一直有一個非常高的 CXPACKET 等待類型,我被告知它源於並行處理,我應該保持 MAXIMUM DEGREE OF PARALLELISM = (Nº Processors / 4),或者在我的情況下為 1。

但是 CXPACKET 等待仍然很高,佔所有等待的 32.78%。有什麼建議麼?

將最大並行度降低到 1 後是否清除了等待統計資訊?

但是,除了衡量您所做的任何更改的影響之外,實際上沒有關於如何配置此設置的有效簡單、通用的經驗法則。除了上述 URL,我還推薦閱讀Paul Randal 的這篇文章。

我還建議重新考慮更多地關注其他頂級等待類型——我經常發現 CXPACKET 等待是一個紅鯡魚,它們的發生是因為複雜的查詢被並行化為快速完成的簡單工作,更大,需要很長時間才能完成的受 I/O 限制的工作。當小而快的工作完成並等待較大的工作完成時,CXPACKET 等待出現。

如果您正在考慮調整特定查詢,執行計劃應該向您顯示查詢的哪些部分需要很長時間才能完成,然後您可以調整以解決問題。過時的統計數據或選擇不當的索引通常是罪魁禍首。

引用自:https://serverfault.com/questions/290526