我有一个包含许多SELECT命令的存储过程.
我没有把OPTION(MAXDOP 8)放在每个select命令的末尾,有没有办法在存储过程的开头设置它并在最后删除它,而不是在服务器上实际设置它?
恩.
sp_configure 'max degree of parallelism',4
go
reconfigure with override
我希望有一种
方法可以设置MAXDOP作为proc的范围,但我同意没有办法做到这一点.
为了对抗上面的一些建议,使用MAXDOP提示有很多理由,例如在多处理器环境中进行非工作时间索引构建,更新或数据构建,但MAXDOP设置低于处理器数量以帮助平衡活动在繁忙的“高峰”时段,例如正常营业时间.与某些提示(例如索引提示)不同,这不会强制您的进程使用更多线程,但如果计划选择,它将使其能够执行此操作.
如果你将线程加倍,一些索引构建的执行速度几乎会快两倍,因此有一个真正的好处.