共用方式為


設定 cost threshold for parallelism 伺服器組態選項

此主題描述如何使用 SQL Server Management Studio 或 Transact-SQL,在 SQL Server 2012 中設定 cost threshold for parallelism 伺服器組態選項。 cost threshold for parallelism 選項會指定 SQL Server 為查詢建立及執行平行計畫的臨界值。 只有當執行同一查詢的序列計畫之估計成本高於 cost threshold for parallelism 中所設的值時,SQL Server 才會建立並執行查詢的平行計畫。 成本是指在特定硬體組態下,估計執行序列計畫所需的已耗用時間 (以秒為單位)。 cost threshold for parallelism 選項可設成從 0 到 32767 的任何值。 預設值是 5。

本主題內容

  • 開始之前:

    限制事項

    建議

    安全性

  • 使用下列方法設定 cost threshold for parallelism 選項:

    SQL Server Management Studio

    Transact-SQL

  • 待處理:設定 cost threshold for parallelism 選項之後

開始之前

限制事項

  • 成本是指在特定硬體組態下,估計執行序列計畫所需的已耗用時間 (以秒為單位)。 只有在對稱式多重處理器上才應該設定 cost threshold for parallelism

  • 在下列情況下,SQL Server 會忽略 cost threshold for parallelism 值:

    • 您的電腦只有一個邏輯處理器。

    • 因為 affinity mask 組態選項的關係,只有一個邏輯處理器可供 SQL Server 使用。

    • max degree of parallelism 選項設為 1。

邏輯處理器是處理器硬體的基本單位,允許作業系統分派工作或執行執行緒內容。 每個邏輯處理器一次只能執行一個執行緒內容。 處理器核心是提供解碼及執行指令能力的電路。 處理器核心可能包含一個或多個邏輯處理器。 下列 Transact-SQL 查詢可用於取得系統的 CPU 資訊。

SELECT (cpu_count / hyperthread_ratio) AS PhysicalCPUs, 
cpu_count AS logicalCPUs 
FROM sys.dm_os_sys_info

建議

  • 這個選項是進階選項,只有有經驗的資料庫管理員或通過認證的 SQL Server 技術人員才可變更。

  • 在某些狀況下,即使查詢的成本計畫小於目前的 cost threshold for parallelism 值,還是會選擇平行計畫。 之所以會發生這種情形,是因為在決定要使用平行或序列計畫時,所依據的成本預估值是在完成整體最佳化之前提供的。

安全性

權限

依預設,所有使用者都會取得不含參數或只含第一個參數之 sp_configure 的執行權限。 若要執行同時設定了兩個參數的 sp_configure 來變更組態選項或執行 RECONFIGURE 陳述式,使用者必須取得 ALTER SETTINGS 伺服器層級權限。 系統管理員 (sysadmin)伺服器管理員 (serveradmin) 固定伺服器角色會隱含地擁有 ALTER SETTINGS 權限。

搭配回到頁首連結使用的箭頭圖示[Top]

使用 SQL Server Management Studio

設定 cost threshold for parallelism 選項

  1. 在 [物件總管] 中,以滑鼠右鍵按一下伺服器,然後選取 [屬性]

  2. 按一下 [進階] 節點。

  3. [平行處理原則] 下,將 [CostThresholdForParallelism] 選項變更為所需的值。 輸入或選取 0 到 32767 之間的值。

搭配回到頁首連結使用的箭頭圖示[Top]

使用 Transact-SQL

設定 cost threshold for parallelism 選項

  1. 連接到 Database Engine。

  2. 在標準列中,按一下 [新增查詢]

  3. 將下列範例複製並貼到查詢視窗中,然後按一下 [執行]。 此範例示範如何使用 sp_configure 將 cost threshold for parallelism 選項的值設定為 10 秒。

USE AdventureWorks2012 ;
GO
EXEC sp_configure 'show advanced options', 1 ;
GO
RECONFIGURE
GO
EXEC sp_configure 'cost threshold for parallelism', 10 ;
GO
RECONFIGURE
GO

如需詳細資訊,請參閱<伺服器組態選項>。

搭配回到頁首連結使用的箭頭圖示[Top]

待處理:設定 cost threshold for parallelism 選項之後

設定會立即生效,不需要重新啟動伺服器。

搭配回到頁首連結使用的箭頭圖示[Top]

請參閱

參考

查詢提示 (Transact-SQL)

ALTER WORKLOAD GROUP (Transact-SQL)

RECONFIGURE (Transact-SQL)

sp_configure (Transact-SQL)

概念

設定平行索引作業

affinity mask 伺服器組態選項

伺服器組態選項