配置并行的开销阈值服务器配置选项
本主题说明了如何使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 2012 中配置**“并行的开销阈值”服务器配置选项。 cost threshold for parallelism 选项指定 SQL Server 创建和运行并行查询计划的阈值。 仅当运行同一查询的串行计划的估计开销高于在“并行的开销阈值”**中设置的值时,SQL Server 才创建和运行该查询的并行计划。 开销指的是在特定硬件配置中运行串行计划估计需要花费的时间(秒)。 **“并行的开销阈值”**选项可设置为 0 到 32767 之间的任何值。 默认值为 5。
本主题内容
开始之前:
限制和局限
建议
安全性
若要配置并行的开销阈值选项,请使用:
SQL Server Management Studio
Transact-SQL
**跟进:**在配置并行的开销阈值选项之后
开始之前
限制和局限
开销指的是在特定硬件配置中运行串行计划估计需要花费的时间(秒)。 只能为对称多处理器设置cost threshold for parallelism。
在下列情况下,SQL Server 将忽略**“并行的开销阈值”**的值:
计算机只有一个逻辑处理器。
由于 affinity mask 配置选项的原因,只有一个逻辑处理器可供 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 权限由 sysadmin 和 serveradmin 固定服务器角色隐式持有。
[Top]
使用 SQL Server Management Studio
配置并行的开销阈值选项
在对象资源管理器中,右键单击服务器并选择**“属性”**。
单击**“高级”**节点。
在**“并行”**下,将 CostThresholdForParallelism 选项更改为所需值。 键入或选择一个值(介于 0 到 32767 之间)。
[Top]
使用 Transact-SQL
配置并行的开销阈值选项
连接到数据库引擎。
在标准菜单栏上,单击**“新建查询”**。
将以下示例复制并粘贴到查询窗口中,然后单击**“执行”**。 本示例演示如何使用 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]
跟进:在配置并行的开销阈值选项之后
该设置将立即生效,无需重新启动服务器。
[Top]
请参阅
参考
ALTER WORKLOAD GROUP (Transact-SQL)