Ang*_*ker 7 sql-server sql-server-2016
我sp_who2 active在盒子上运行并为每个 SPID 获取多行。例如,见下文。这是否意味着 SQL Server 已将查询分解为 23 个并行子查询?如果是这样,为什么它会忽略 MaxDegreeOfParallelism 设置 8?或者这是别的什么?
Kin*_*hah 11
为什么忽略 MaxDegreeOfParallelism 设置为 8?
那是因为MAXDOP 是针对每个运算符而不是针对每个执行计划的。将您的MAXDOP 设置设置为一个合适的值。
MAXDOP 设置用于限制执行计划中每个操作的线程数,不限制用于执行查询的线程数。因此,在 sysprocesses 中看到每个 SPID 的线程数大于 MAXDOP 设置是正常的。
另请参阅它是如何工作的:SQL Server 每个查询程度的并行工作器计数
作为旁注:使用sp_whoIsActive - 有很多选项并使用 DMV
-- sp_who2 是遗留的,使用旧的不推荐使用的表,写于冰河时代 1995/11/03 10:16 :-)
| 归档时间: |
|
| 查看次数: |
2193 次 |
| 最近记录: |