sql-server - 为什么更新 View 会导致速度加快?

标签 sql-server performance

我们遇到了一个特殊查询的特殊情况。

此查询连接到一个 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/

相关文章:

sql-server - 使用 SQL Server 作为图像存储

javascript - ">"和 "!="之间的 JavaScript 有性能差异吗?

css - CSS 背景图像的最佳平铺尺寸

c# - Entity Framework : How to put multiple stored procedures in a transaction?

java - Android 性能 : Strings vs. 枚举与静态最终整数

c++ - 快速 1/X 除法(倒数)

iOS如何减慢特定时长的视频播放速度

SQL Group BY SUM 一列并选择分组项目的第一行

sql - 消息102,级别15,状态1行1 'n'附近的语法不正确

mysql - 从 MySQL 导出并导入到 Microsoft SQL