模式绑定视图会影响性能吗?

Jon*_*len 4 performance sql-server view

架构绑定视图会影响 SQL Server 中的性能还是只是为了防止意外更改?

she*_*ull 7

在某些情况下,使用模式绑定可以提高性能。

我不记得所有的细节,但找到了一篇很好的博客文章,详细介绍了这一点:

使用可能需要更新数据的用户定义函数。您可能会受益于防止 Eager Table Spool 的改进性能。 SQL Server 架构绑定

编辑:Paul White 表示这实际上不会影响仅用于连接的视图表假脱机。

模式绑定肯定会在更改模式时增加一些额外的维护。这可以被认为是一件好事,因为它可以在不处理绑定的情况下防止底层架构更改。这并不困扰我,因为我正在使用 Red Gate SQL Compare 并且它会处理这个问题,但是如果您没有使用工具来生成脚本,这可能是一个需要考虑的因素......(通过获取生成脚本的工具来解决)脚本!)

另请参阅Microsoft SQL 可编程性和 API 开发团队博客上的 T-SQL UDF上的使用 SCHEMABINDING 选项改进查询计划

此外,Kin 对您的原始问题的评论提出了一个很好的附加点,即一旦您包含架构绑定,就可以对视图进行索引。这可以被视为可能有帮助的额外好处。

  • 它不会对有关表线轴的视图产生任何影响。该视图无论如何都内联到查询中,因此 SQL Server 可以判断它是否引用了需要添加 Haloween 保护的内容。 (2认同)