OPTION(MAXDOP)带子查询?

时间:2013-06-18 06:08:46

标签: sql sql-server tsql

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)也足以设置子查询的度数。

1 个答案:

答案 0 :(得分:9)

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

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