SQL查询,执行计划和"并行"

Chr*_*ård 9 sql-server sql-execution-plan

所以我(仍)经历了一些缓慢的遗留sql视图,用于计算(有时)大量数据集的某些平均值和标准偏差.我最终得到的是加入观点等观点的观点.

所以我虽然会审查我的查询的执行计划.它立即提出了一个缺失的索引,然后我实现了.但它仍然无法忍受缓慢(这么慢,它会超出VB6应用查询数据的速度;))

因此,在进一步研究执行计划后,我发现成本最高(在我的情况下每个约8%)是"Paralellism"案例.主要是"分发流"和"重新分配流".这些是什么?

Joe*_*lli 11

分发StreamsRepartion Streams是SQL优化器选择使用并行查询处理时发生的操作.如果您怀疑这会导致查询出现问题,则可以强制SQL Server仅使用一个带有MAXDOP 查询提示的 CPU ,如下所示.

select *
    from sys.tables
    option (maxdop 1)
Run Code Online (Sandbox Code Playgroud)

  • 是的,这就是Joe说如果他们的成本最高的原因,请尝试使用maxdop 1并查看您的整体查询性能是否有所改善. (5认同)