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 - 带有子查询的选项(MAXDOP)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17161638/