我们遇到了一个特殊查询的特殊情况。
此查询连接到一个 View ,该 View 在某些数据上创建 PIVOT。
现在我们发现有时此查询运行速度非常慢(10 秒)。我不知道如何始终如一地重现运行缓慢的情况。
但是,当它运行缓慢时,我们可以删除并重新创建加入查询的 View ,这将使查询再次快速运行(< 1 秒)。现在,此 UPDATE VIEW 不会以任何方式更改 View 的实际架构。
我很困惑。关于这里可能发生什么有什么想法吗?
重新创建可以加快查询速度的 View 时会发生什么?
最佳答案
这听起来像parameter sniffing .
在娱乐方面,这是一个新的目标和一个新的计划。即使 View 已展开,查询文本也会引用该 View ,并且它与之前的 View 不同
关于sql-server - 为什么更新 View 会导致速度加快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3854263/