我想以这样一个事实作为开场白:我确实知道使用OPTION (MAXDOP)通常是不受欢迎的,也是不可取的。然而,仅仅说“不要使用OPTION (MAXDOP)”并不能解决当前问题的狭隘焦点。特别针对这个问题,我正在编写一个存储过程,其中有一个IF语句,类似于: IF ((SELECT TOP 1 Identifier WHERE <someconditions>) IS NOT NULL
如果实例的MAXDOP设置为1,并且使用查询提示允许特定查询并行,那么SQL是否仍然使用并行值的成本阈值来决定是否真正并行?虽然此链接建议,如果MAXDOP为1时,CTFP就会被忽略,但我仍无法挖掘这些特定信息。如果没有查询提示,这是有意义的,因为没有任何请求,无论代价如何,当MAXDOP为1时,都会并行。示例1:
Instance Ma