MAXDOP(max degree of parallelism)

概述

当 SQL Server 在具有多个微处理器或 CPU 的计算机上运行时,它将为每个并行计划执行检测最佳并行度(即运行一个语句所使用的处理器数)。您可以使用 max degree of parallelism 选项来限制执行并行计划时所用的处理器数量。若要使服务器能够确定最大并行度,请将此选项设置为默认值 0。若将 maximum degree of parallelism 设置为 0,SQL Server 将能够使用至多 64 个可用的处理器。若要取消生成并行计划,请将 max degree of parallelism 设置为 1。将该值设置为大于 1 的数值来限制执行单个并行查询时所使用的最大处理器数。并行度设置的最大值由 SQL Server 的版本、CPU 类型和操作系统控制。如果指定的值比可用的处理器数大,则使用实际可用数量的处理器。如果计算机只有一个处理器,则将忽略 max degree of parallelism 值。

设置max degree of parallelism

1 通过sp_configure

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

2 通过SQL Server Management Studio

配置可用于并行查询的处理器数

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

  2. 单击“高级”节点。

  3. “最大并行度”框中,选择执行并行计划时所使用的最大处理器数。

    如果默认值为 0,则使用所有可用的处理器。将 max degree of parallelism 设置为 1 以取消生成并行计划。将该值设置为大于 1 的数来限制执行单个并行查询时所使用的最大处理器数。如果指定的值比可用的处理器数大,则使用实际可用数量的处理器。如果计算机只有一个处理器,则将忽略 max degree of parallelism 值。

转载于:https://www.cnblogs.com/jenneyblog/p/MAXDOP.html

猜你喜欢

转载自blog.csdn.net/weixin_33785108/article/details/93370514