SQL Server數據庫與max degree of parallelism參數
我們今天主要向大家講述的是SQL Server數據庫中的max degree of parallelism參數,當 SQL Server 數據庫在具N個微處理器或是 CPU 的計算機上運行時,它將為每個并行計劃執行檢測***并行度(即運行一個語句所使用的處理器數)。
您可以使用 max degree of parallelism 選項來限制并行計劃執行時所用的處理器數。
當 SQL Server數據庫在具有多個微處理器或 CPU 的計算機上運行時,它將為每個并行計劃執行檢測***并行度(即運行一個語句所使用的處理器數)。您可以使用 max degree of parallelism 選項來限制并行計劃執行時所用的處理器數。如果默認值為 0,則使用所有可用的處理器。將 max degree of parallelism 設置為 1 以取消生成并行計劃。將該值設置為大于 1 的數字(***為 64)來限制執行單個查詢時所用的***處理器數。如果指定的值比可用的處理器數大,則使用實際可用數量的處理器。如果計算機只有一個處理器,則將忽略 max degree of parallelism 值。
以下來自微軟工程師經驗傳授:
關于max degree of parallelism這個選項,一般情況下采用默認的0就可以了,這樣的話SQL會根據查詢的復雜度來決定使用多大并發度的查詢。但是在有些OLTP(聯機事務處理)系統中,我們會發現SQL中存在大量的并發查詢,從而可能從兩方面影響SQL性能:
1. 單個查詢的并發度過高會導致查詢會花大量的時間在等待并發同步上,從而影響查詢性能
2. 并發查詢太多會占用大量的CPU資源,從而減少其它查詢得到CPU時間的機會,這樣的話會使其它查詢變慢。
一般來說,如果我們看到SQL Server數據庫中有大量的CXPACKET等待類型、或者有許多查詢長期處于Runnable的狀態(表示該查詢在等待CPU時間片),我們會建議客戶將并發度降下來,以進一步排查問題。
以上的相關內容就是對SQL Server數據庫的max degree of parallelism參數的介紹,望你能有所收獲。
上述的相關內容就是對SQL Server數據庫的max degree of parallelism參數的描述,希望會給你帶來一些幫助在此方面。
【編輯推薦】