5
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)将足以设置子查询的程度。

4

1 回答 1

10

子查询在运行时可能不是一体的。优化器可以将其拆开并重新排序。这个查询肯定不会像写的那样执行。因此,子查询的 maxdop 不适用于 SQL Server 执行模型。

整个查询只能有一个 maxdop。这种限制有一个合乎逻辑的原因。

于 2013-07-19T18:51:44.283 回答