SELECT [SomeColumn]
FROM [Table1] t1
WHERE Table1ID = (
        SELECT [Table1ID]
        FROM [Table2] t2
        WHERE t2.ID = 2
        OPTION (MAXDOP 4)
        )
OPTION (MAXDOP 4)

这在第一个Incorrect syntax near the keyword 'OPTION'.上给出了一个错误OPTION (MAXDOP)是否可以在子查询中使用OPTION (MAXDOP?否则最终的OPTION (MAXDOP)将足以设置子查询的程度。

最佳答案

子查询可能不在运行时合为一体。优化器可以将其拆开并重新排列所有内容。此查询肯定不会按书面要求执行。因此,子查询的maxdop不适用于SQL Server执行模型。

整个查询只能有一个maxdop。有此限制的逻辑原因。

关于sql - OPTION(MAXDOP)带有子查询?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17161638/

10-11 01:38