|
|
1
3
这听起来像 parameter sniffing . 在娱乐方面,这是一个新的目标和新的计划。尽管视图已展开,但查询文本引用的视图与以前的视图不同 |
|
|
2
0
我以前看过这个问题,这是个奇怪的问题。当您重新创建视图时,SQL Server将重新创建视图使用的查询执行计划。随着时间的推移,视图中的查询可能在索引不正确的表上进行了联接,因此索引上的SQL统计数据实际上开始降低性能,而不是帮助它解决问题。因此,一旦您重新创建了视图,SQL Server现在就用给定的统计信息为视图标识最佳的查询执行计划,这就是为什么您看到视图再次运行得更快的原因。然后,一旦表统计数据开始增加,视图的性能就会开始下降,因为SQL Server不知道为视图运行查询执行计划的最佳方法。我建议您检查视图中的表,并调查正在使用的表的联接和索引。如果在其他查询窗口中执行视图的内容,则可以比较该视图运行的查询的估计查询执行计划和该视图使用的估计查询执行计划。通过这个,您可以识别出有问题的查询。 |
|
John D · 需要为NULL或NOT NULL的WHERE子句 1 年前 |
|
Marc Guillot · 记录值时忽略冲突 1 年前 |
|
|
Fachry Dzaky · 正确使用ROW_NUMBER 1 年前 |
|
|
TriumphTruth · 从满足特定条件的数据集中选择1行 1 年前 |