【发布时间】:2010-10-05 08:37:29
【问题描述】:
所以我(仍然)正在浏览一些用于计算(有时)大型数据集的一些平均值和标准偏差的慢速遗留 sql 视图。我最终得到的是视图加入视图加入视图等。
所以我会检查我的查询的执行计划。它立即提出了一个缺失的索引,然后我实施了它。但它仍然慢得让人难以忍受(太慢了,VB6 应用程序查询它的数据时会超时;))
因此,在进一步研究执行计划后,我发现成本最高(在我的案例中约为 8%)是“并行”案例。主要是“分发流”和“重新分区流”。这些是什么?
【问题讨论】:
-
几年前我在一个类似的系统上工作过,Views 加入了 Views,随着系统中数据量的增长,性能最终变得无法接受。我发现从头开始重写查询以访问基表而不是视图可以大大提高查询成本。如果您查看重复访问相同基表以执行不同聚合的计划,您可能会发现。 Example of Inefficiency that can arise
标签: sql-server sql-execution-plan