在SQL Server 2008中,我已将OPTION (MAXDOP 4)
添加到我的查询中。
但是,估计执行计划中没有“并行”步骤。
这是否意味着SQL Server选择不并行执行查询,即使我说“MAXDOP 4
”?
如何强制SQL Server使用并行性?
答案 0 :(得分:4)
OPTION (MAXDOP 4)
用于在执行期间限制CPU。
如果要强制SQL Server使用并行性,可以执行以下操作。 OPTION(RECOMPILE, QUERYTRACEON 8649)
您可以阅读更多相关信息http://web.archive.org/web/20180404164406/http://sqlblog.com/blogs/paul_white/archive/2011/12/23/forcing-a-parallel-query-execution-plan.aspx
答案 1 :(得分:1)
MAXDOP是最大的parralelism程度。
某些查询无法使用并行处理(例如,使用ORDER BY选择)。
Parrelelism也增加了一些开销。 SQL Server将不会使用它,除非它在必要时使用它(使用统计信息)。
答案 2 :(得分:1)
从SQL Server 2016 CU2
您可以使用未记录的查询提示:
SELECT ...
-- rest of the query
option(use hint('ENABLE_PARALLEL_PLAN_PREFERENCE'));
更多信息: