配置并行的开销阈值服务器配置选项

本主题介绍如何使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 2014 中配置并行服务器配置选项的成本阈值cost threshold for parallelism 选项指定 SQL Server 创建和运行并行查询计划的阈值。 仅当运行同一查询的串行计划的估计开销高于在“并行的开销阈值”中设置的值时,SQL Server 才创建和运行该查询的并行计划。 开销指的是在特定硬件配置中运行串行计划估计需要花费的时间(秒)。 “并行的开销阈值” 选项可设置为 0 到 32767 之间的任何值。 默认值为 5。

本主题内容

开始之前

限制和局限

  • 开销指的是在特定硬件配置中运行串行计划估计需要花费的时间(秒)。 只能为对称多处理器设置 cost threshold for parallelism

  • SQL Server 将忽略 的值:

    • 计算机只有一个逻辑处理器。

    • 由于 SQL Server 相关性掩码 配置选项的原因,只有一个逻辑处理器可供 使用。

    • “最大并行度” 选项设置为 1。

逻辑处理器是处理器硬件的基本单元,可让操作系统调度任务或执行线程上下文。 每个逻辑处理器一次只执行一个线程上下文。 处理器内核是提供解码和执行指令的能力的电路。 一个处理器内核可能包含一个或多个逻辑处理器。 以下 Transact-SQL 查询可用于获取系统的 CPU 信息。

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

建议

  • 此选项是高级选项,只能由经验丰富的数据库管理员或认证SQL Server技术人员进行更改。

  • 在某些情况下,即使查询的开销计划小于当前 “并行的开销阈值” 的值,也有可能选择并行计划。 出现这种情况,是因为使用并行还是串行计划是根据完成完全优化之前所提供的开销估计确定的。

安全性

权限

默认情况下,所有用户都具备不带参数或仅带第一个参数的 sp_configure 的执行权限。 若要执行带两个参数的 sp_configure 以更改配置选项或运行 RECONFIGURE 语句,则用户必须具备 ALTER SETTINGS 服务器级别的权限。 ALTER SETTINGS 权限由 sysadminserveradmin 固定服务器角色隐式持有。

使用 SQL Server Management Studio

配置并行的开销阈值选项

  1. 在对象资源管理器中,右键单击服务器并选择 “属性”

  2. 单击 “高级” 节点。

  3. “并行”下,将 “CostThresholdForParallelism” 选项更改为所需值。 键入或选择一个值(介于 0 到 32767 之间)。

“使用 Transact-SQL”

配置并行的开销阈值选项

  1. 连接到 数据库引擎。

  2. 在标准菜单栏上,单击 “新建查询”

  3. 将以下示例复制并粘贴到查询窗口中,然后单击“执行” 。 此示例说明如何使用 sp_configurecost 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  

有关详细信息,请参阅服务器配置选项 (SQL Server)

跟进:在配置并行的开销阈值选项之后

该设置将立即生效,无需重新启动服务器。

另请参阅

配置并行索引操作
查询提示 (Transact-SQL)
ALTER WORKLOAD GROUP (Transact-SQL)
affinity mask 服务器配置选项
RECONFIGURE (Transact-SQL)
服务器配置选项 (SQL Server)
sp_configure (Transact-SQL)