max degree of parallelism 選項
SQL Server 2005 在具有多個微處理器或 CPU 的電腦上執行時,會偵測平行處理原則的最佳程度,也就是說,針對每一個平行計劃的執行,執行單一陳述式所要採用的處理器個數。您可以使用 max degree of parallelism 選項來限制要用於平行計劃執行的處理器數目。預設值為 0 會使用所有可以使用的處理器。將 max degree of parallelism 設成 1 可抑制產生平行計劃。將這個值設成大於 1 的數字 (最大值 64),則會限制單一查詢執行所使用的最大處理器個數。如果指定的數值大於可用的處理器數目,就會使用可用處理器的實際數目。如果電腦只有一個處理器,則會忽略 max degree of parallelism 值。
覆寫 max degree of parallelism
SQL Server 會針對查詢、索引資料定義語言 (DDL) 作業,以及靜態和索引鍵集衍生資料指標擴展,考慮進行平行執行計劃。如需平行執行的詳細資訊,請參閱<平行程度>。
您可以在查詢陳述適中指定 MAXDOP 查詢提示,來覆寫查詢中的 max degree of parallelism 值。如需詳細資訊,請參閱<查詢提示 (Transact-SQL)>。
建立或重建索引的索引作業,或者卸除叢集索引的索引作業,都需要大量資源。您可以在索引陳述式中指定 MAXDOP 索引選項,覆寫索引作業中的 max degree of parallelism 值。MAXDOP 值會在執行時套用至陳述式,且不會儲存在索引中繼資料內。如需詳細資訊,請參閱<設定平行索引作業>。
除了查詢作業和索引作業外,此選項也會控制 DBCC CHECKTABLE、DBCC CHECKDB 和 DBCC CHECKFILEGROUP 的平行處理原則。您可以使用追蹤旗標 2528,來停用這些陳述式的平行執行計劃。如需詳細資訊,請參閱<追蹤旗標 (Transact-SQL)>。
附註: |
---|
如果 affinity mask 選項不是設成預設值,它就可能限制對稱式多重處理 (SMP) 系統上 SQL Server 可用的處理器個數。 |
設定 max degree of parallelism 選項
max degree of parallelism 屬於進階選項。若使用 sp_configure 系統預存程序來變更該設定,只有當 show advanced options 設為 1 時,才可以變更 max degree of parallelism。這個設定會立即生效 (不需重新啟動 MSSQLSERVER 服務)。
以下範例會將 max degree of parallelism 選項設為 8。
sp_configure 'show advanced options', 1;
GO
RECONFIGURE WITH OVERRIDE;
GO
sp_configure 'max degree of parallelism', 8;
GO
RECONFIGURE WITH OVERRIDE;
GO
如需在 SQL Server Management Studio 中設定 max degree of parallelism 值的詳細資訊,請參閱<如何:設定平行查詢可用的處理器數目 (SQL Server Management Studio)>。
請參閱
概念
affinity mask 選項
cost threshold for parallelism 選項
設定伺服器組態選項
平行查詢處理
設定平行索引作業
設定索引選項
max worker threads 選項
其他資源
RECONFIGURE (Transact-SQL)
sp_configure (Transact-SQL)
CREATE INDEX (Transact-SQL)
ALTER INDEX (Transact-SQL)
ALTER TABLE (Transact-SQL)
DBCC CHECKTABLE (Transact-SQL)
DBCC CHECKDB (Transact-SQL)
DBCC CHECKFILEGROUP (Transact-SQL)
查詢提示 (Transact-SQL)