首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与<=8值相比,MAXDOP值为0

与<=8值相比,MAXDOP值为0
EN

Database Administration用户
提问于 2020-04-08 20:27:40
回答 1查看 875关注 0票数 1

我已经研究了几十个关于MAXDOP的网站,但是我似乎缺少一些基本的东西。MAXDOP=0使SQL能够使用所有可用的CPU. MS推荐的设置是设置MAXDOP =CPU个数(如果小于8,则MAXDOP =8,如果是8或更多CPU)(注意,还有一些更好的点,例如NUMA,等等,但这是基本指导)。如果MAXDOP=0启用了所有的CPU,而一个系统拥有8个或更少的CPU,那么MAXDOP=0的设置与设置MAXDOP=#CPU有什么不同呢?它们不是都会导致所有x CPU可用吗?如果CPU的#>8,我可以看到这是非常有意义的地方。

谢谢!

EN

回答 1

Database Administration用户

回答已采纳

发布于 2020-04-08 23:36:47

MAXDOP=0使SQL能够使用所有可用的CPU。如果您有更多的类似128个,MAXDOp=0将仍然只使用64个逻辑处理器。

对于内核< =8,仍然需要检查是否启用了超线程,因为这也是其中的一个重要因素。

同样,对于单个numa上小于或等于8的核,理想情况下需要保持处理器的#,这是产生混淆的地方。理想的情况是,在当今世界中,发现这样的服务器是非常罕见的,因为如果您在不到8个核心上有问题,并且希望设置MAxDOP,那么问题就更大了。

但是,是的,少于8,或多或少都是一样的。但是要注意的是,即使设置为MAXDOP,查询过程也可能使用所有内核。此外,此设置也应与并行性的成本阈值并行检查。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/264630

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档