我有两个选择的程序。一条语句尊重服务器/数据库的/query提示的maxdop设置,并使用并行性,另一种语句比较困难,从不并行。
8核心服务器和这个db被配置为maxdop 0(不是很好,我可以更改它,但是我想离开它,看看到底发生了什么)。成本阈值为5。
自动更新状态是打开的,表上的状态显示为今天早些时候正在更新。今晚几个小时后,我可能会尝试手动更新桌子上的数据。
此服务器和db是AG二级副本。主语句上的相同过程运行得很快,两个语句都并行。主体有更多的核心,它的maxdop显式地设置为8。
语句1查询提示
语句2查询提示
谢谢你的帮助!
发布于 2022-01-24 20:08:56
在任何级别设置MAXDOP只对查询的并行性设置上限。它并不指示查询并行;查询仍然必须:
如果你想强迫一个并行计划,你需要
ENABLE_PARALLEL_PLAN_PREFERENCE使用提示。这里应该指出的是,这两个选项都没有得到官方的支持,而且可能只用于测试和实验。
不过,这可能是最具启发性的事情,因为它将显示并行计划的估计成本,以及它是否高于串行计划的估计成本,或者如果仍然存在一些局部抑制并行性的东西。
https://dba.stackexchange.com/questions/306518
复制相似问题