[转帖]max degree of parallelism 选项

max,degree,of,parallelism,选项 · 浏览次数 : 0

小编点评

## SQL Server 并行度设置 SQL Server 在具有多个 CPU 的计算机上运行时,会为每个并行计划执行检测最佳并行度。您可以使用 `max degree of parallelism` 选项来限制执行并行计划时所用的处理器数量。 **默认值:** 0,表示使用所有可用处理器。 **设置值:** * **0:** 使用所有可用处理器。 * **max degree of parallelism:** 指定要使用的最大处理器数量。 **其他设置:** * 在 `max degree of parallelism` 设置之前,请确保 CPU 的数量至少大于或等于该值。 * 如果计算机只有一个处理器,则将忽略 `max degree of parallelism` 值。 **并行度设置的范围:** * SQL Server 版本:x86 操作系统上的 SQL Server 2008 Enterprise。 * CPU 类型:各种 CPU 类型。 * 操作系统:Windows XP 及更高版本。 **注意:** * `max degree of parallelism` 选项是高级选项,需要在 `sp_configure` 中设置。 * 仅当 `show advanced options` 设置为 1 时才能更改该选项的值。

正文

https://learn.microsoft.com/zh-cn/previous-versions/sql/sql-server-2008-r2/ms181007(v=sql.105)?redirectedfrom=MSDN

 

当 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 值。

 

SQL Server 版本

1

SQL Server Express

2

SQL Server Workgroup

4

SQL Server 2008 Web

4

SQL Server 2008 Standard

32

在 x86 操作系统上运行的 SQL Server 2008 Enterprise。

覆盖 max degree of parallelism 值

 

SQL Server 将考虑为查询、索引数据定义语言 (DDL) 操作、静态的和由键集驱动的游标填充实施并行执行计划。有关并行执行的详细信息,请参阅 并行度

您可以通过在查询语句中指定 MAXDOP 查询提示来覆盖查询中的 max degree of parallelism 值。有关详细信息,请参阅查询提示 (Transact-SQL)

索引操作(如创建或重新生成索引、或删除聚集索引)可能会大量占用资源。您可以通过在索引语句中指定 MAXDOP 索引选项来覆盖索引操作的 max degree of parallelism 值。MAXDOP 值在执行时应用于语句,但不存储在索引元数据中。有关详细信息,请参阅配置并行索引操作

除了查询和索引操作之外,此选项还控制 DBCC CHECKTABLE、DBCC CHECKDB 和 DBCC CHECKFILEGROUP 的并行。使用跟踪标志 2528,可以禁用为这些语句所做的并行执行计划。有关详细信息,请参阅跟踪标志 (Transact-SQL)

注意注意

如果 affinity mask 选项未设置为默认值,则可能会限制可用于对称多处理 (SMP) 系统上的 SQL Server 的处理器数。

设置 max degree of parallelism 选项

 

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

有关在 SQL Server Management Studio 中设置 max degree of parallelism 值的详细信息,请参阅如何配置可用于并行查询的处理器数 (SQL Server Management Studio)

与[转帖]max degree of parallelism 选项相似的内容:

[转帖]max degree of parallelism 选项

https://learn.microsoft.com/zh-cn/previous-versions/sql/sql-server-2008-r2/ms181007(v=sql.105)?redirectedfrom=MSDN 当 SQL Server 在具有多个微处理器或 CPU 的计算机上运行

[转帖]MAXDOP(max degree of parallelism)

https://www.cnblogs.com/jenneyblog/p/MAXDOP.html 概述 当 SQL Server 在具有多个微处理器或 CPU 的计算机上运行时,它将为每个并行计划执行检测最佳并行度(即运行一个语句所使用的处理器数)。您可以使用 max degree of paral

[转帖]关于SQLSERVER的max degree of parallelism参数

http://www.gaodaima.com/228823.html max degree of parallelism说明:本文来源gao($daima.com搞@代@#码8网^http://msdn.microsoft.com/zh-cn/library/ms181007.aspx 当 SQL

[转帖]CONNTRACK_MAX和HASHSIZE

关于linux中的CONNTRACK_MAX和HASHSIZE要注意的地方 如果在压力测试的时候,并发数增大,但无法完成测试,可以尝试调整下参数: vi /etc/sysctl.conf 在kernel2.6之前的添加项: net.ipv4.netfilter.ip_conntrack_max =

[转帖]fs-max、file-nr和nofile的关系

fs-max、file-nr和nofile的关系 1. file-max /proc/sys/fs/file-max: 这个文件决定了系统级别所有进程可以打开的文件描述符的数量限制,如果内核中遇到VFS: file-max limit reached的信息,那么就提高这个值。 设置

[转帖]fs-max、file-nr和nofile的关系

fs-max、file-nr和nofile的关系 1. file-max /proc/sys/fs/file-max: 这个文件决定了系统级别所有进程可以打开的文件描述符的数量限制,如果内核中遇到VFS: file-max limit reached的信息,那么就提高这个值。 设置

[转帖]fs-max、file-nr和nofile的关系

https://www.cnblogs.com/ermazi/p/7843632.html 1. file-max /proc/sys/fs/file-max:这个文件决定了系统级别所有进程可以打开的文件描述符的数量限制,如果内核中遇到VFS: file-max limit rea

[转帖]MALLOC_ARENA_MAX=1 与 MALLOC_ARENA_MAX=4有什么区别?

https://www.easyice.cn/archives/341 2019年 Elastic开发者大会的时候我曾经说过 glibc 导致的堆外内存过多问题: 如果应用程序每次分配内存的时候都通过系统调用 mmap,sbrk等来分配,效率会很低,所以glibc 中实现了一个内存池,应用程序使用内

[转帖]net.ipv4.tcp_max_syn_backlog & net.core.somaxconn

https://www.cnblogs.com/apink/p/15632882.html TCP SYN_REVD, ESTABELLISHED 状态对应的队列 TCP 建立连接时要经过 3 次握手,在客户端向服务器发起连接时,对于服务器而言,一个完整的连接建立过程,服务器会经历 2 种 TCP 

[转帖]net.ipv4.tcp_max_tw_buckets 配置说明

https://www.jianshu.com/p/b7e991be0909 因为前些天遇到大量 TIME_WAIT 导致端口耗尽服务异常的情况,让我注意到这个参数。先说它的作用:在 TIME_WAIT 数量等于 tcp_max_tw_buckets 时,不会有新的 TIME_WAIT 产生。 tc