2012-05-28 34 views
3

我有2個物理CPU(每個都是四核)並啓用了超線程。任務管理器顯示16個邏輯處理器當前maxdop設置默認爲零。SQL Server並行邏輯處理器或物理內核

當使用並行時,如果可用,將使用全部16個邏輯處理器,並且可以使用16個調度器來跨越查詢。澄清查詢優化器何時使用並行(特別是啓用超線程時);它認爲可用的邏輯核心而不是物理核心?

+0

你不知道我們有關於RDBMS問題的網站嗎?它被稱爲[dba.se]。 – Will

回答

0

當SQL Server生成一個並行計劃時,它不包括每次執行它的DOP。該計劃僅包括並行運算符,並且在執行查詢時動態選擇DOP,這取決於服務器負載等因素以及MAXDOP設置/提示等限制。

儘管SQL Server支持NUMA,但AFAIK無法區分常規內核和Hyperthreaded內核。它們都只是邏輯處理器。

如果您的工作負載受益於在儘可能多的CPU功率下運行的並行查詢,請嘗試關閉Hyperthreading以查看它是否有所作爲。對於OLTP來說,超線程非常適用,其中有很多併發連接需要較短的請求,但可能並非如此。你必須測試。

+0

我同意,並行是基於邏輯核心(硬件線程) –