Beg*_*DBA 5 performance sql-server sql-server-2012 maxdop query-performance
我需要了解 sql server 查询的以下行为
系统有 4 个 CPU,超线程比率为 20,使 80 个逻辑处理器在我的 sql server 实例上计数。
当前 MAXDOP 为 0,ctop 为 5
这是一个只读实例,充当 LS 的备用实例,其中完成所有报告。
进入的许多查询似乎显示并行度为 64。
问题: .1。当逻辑处理器数为 80 时,为什么并行度不是 80?
谢谢
简单的答案是 64是指定零时的DOP 限制 :
要使服务器能够确定最大并行度,请将此选项设置为 0,即默认值。将最大并行度设置为 0 允许 SQL Server 使用最多 64 个处理器的所有可用处理器。
如果您设置该特定数量(即不为零),则单个查询可以使用超过 64 个内核:
将该值设置为 1 到 32,767 之间的数字以指定单个查询执行可以使用的最大处理器内核数
另请参阅SQL Server MAX DOP Beyond 64 – 这可能吗?
至于 SQL Server 将如何分配线程,这篇博文是我见过的最接近官方文档的: