cost threshold for parallelism 選項
使用 cost threshold for parallelism 選項指定 Microsoft SQL Server 為查詢建立及執行平行計劃的臨界值。唯有執行同一查詢的序列計劃的估計成本高於 cost threshold for parallelism 中設定的值時,SQL Server 才會建立及執行查詢的平行計劃。成本是指在特定硬體組態下,執行序列計劃所需估計的經過時間 (以秒為單位)。只有在對稱式多重處理器上才應該設定 cost threshold for parallelism。
通常較長的查詢比較適合平行計劃;其效能優點就是不需要額外的時間來初始化、同步處理及終止平行計劃。在執行混合較短及較長的查詢時,就會啟用 cost threshold for parallelism 選項。較短的查詢執行序列計劃,而較長的查詢使用平行計劃。cost threshold for parallelism 的值可判斷哪些查詢是短的,所以要使用序列計劃來執行。
在某些狀況下,即使查詢的成本計劃小於目前的 cost threshold for parallelism 值,還是會選擇平行計劃。之所以會發生這種情形,是因為在決定要使用平行或序列計劃時,所依據的成本預估值是在完成整體最佳化之前提供的。
cost threshold for parallelism 選項可設成從 0 到 32767 的任何值。預設值是 5。
在下列情況下,SQL Server 會忽略 cost threshold for parallelism 值:
- 您的電腦只有一個處理器。
- 因為 affinity mask 組態選項的關係,只有一個 CPU 可供 SQL Server 使用。
- max degree of parallelism 選項設為 1。
cost threshold for parallelism 選項是進階選項。如果您是使用 sp_configure 系統預存程序來變更設定,只有當 show advanced 選項設定為 1 時,才能變更 cost threshold for parallelism。這個設定會立即生效 (不需重新啟動伺服器)。
範例
以下範例將平行處理原則的成本臨界值設為 10 秒。
sp_configure 'show advanced options', 1;
GO
reconfigure;
GO
sp_configure 'cost threshold for parallelism', 10;
GO
reconfigure;
GO
請參閱
概念
affinity mask 選項
max degree of parallelism 選項
設定伺服器組態選項
其他資源
RECONFIGURE (Transact-SQL)
sp_configure (Transact-SQL)