为什么执行计划中的并行性不好
Why is parallelism bad in execution plans
人们似乎暗示,当黄色箭头出现在执行计划中时,这是一个不好的迹象。为什么查询并行运行会出现问题?
这不是一个坏兆头。根据某些设置,引擎可能会决定使用并行运算符以优化某些 T-SQL 语句的执行。在大多数情况下,它会做出更好的选择(使用或不使用)。
如果您担心引擎没有做出更好的决定,您可以更改 Max Degree of Parallelism
和 Cost Threshold For Parallelism
。反正还有hints to force the parallel execution, too - Forced Parameterization.
我个人曾尝试强制并行操作并拒绝它们以 debug/improve 性能,但最后我总是让引擎而不是我来做出这些决定。
人们似乎暗示,当黄色箭头出现在执行计划中时,这是一个不好的迹象。为什么查询并行运行会出现问题?
这不是一个坏兆头。根据某些设置,引擎可能会决定使用并行运算符以优化某些 T-SQL 语句的执行。在大多数情况下,它会做出更好的选择(使用或不使用)。
如果您担心引擎没有做出更好的决定,您可以更改 Max Degree of Parallelism
和 Cost Threshold For Parallelism
。反正还有hints to force the parallel execution, too - Forced Parameterization.
我个人曾尝试强制并行操作并拒绝它们以 debug/improve 性能,但最后我总是让引擎而不是我来做出这些决定。