所以我(仍然)经历了一些缓慢的遗留sql视图,用于计算(有时)大量数据集的一些平均值和标准偏差.我最终得到的是加入观点等观点的观点.
所以我虽然会审查我的查询的执行计划.它立即建议丢失索引,然后我实现了.但它仍然无法忍受缓慢(如此缓慢超过VB6应用程序查询它的数据;))
因此,在进一步研究执行计划后,我发现成本最高(在我的情况下每个约为8%)是“Paralellism”案例.主要是“分发流”和“重新分配流”.这些是什么?
解决方法
Distribute Streams和
Repartion Streams是sql优化器选择使用
Parallel Query Processing时发生的操作.如果您怀疑这导致查询出现问题,则可以强制sql Server仅使用一个带有MAXDOP
query hint的cpu,如下所示.
select * from sys.tables option (maxdop 1)