Jonathan Allen Asked: 2016-05-10 14:12:36 +0800 CST2016-05-10 14:12:36 +0800 CST 2016-05-10 14:12:36 +0800 CST 模式绑定视图会影响性能吗? 772 架构绑定视图会影响 SQL Server 中的性能还是只是为了防止意外更改? sql-server performance 1 个回答 Voted Best Answer sheldonhull 2016-05-10T14:46:30+08:002016-05-10T14:46:30+08:00 在某些情况下,使用模式绑定可以提高性能。 我不记得所有的细节,但找到了一篇很好的博客文章,详细介绍了这一点: 使用可能需要更新数据的用户定义函数。您可能会从防止 Eager Table Spool 的改进性能中受益。 SQL Server 架构 编辑:Paul White 表示这实际上不会影响仅用于连接的视图表线轴。 模式绑定在更改模式时肯定会增加一些额外的维护。这可以被认为是一件好事,因为它可以防止底层架构更改而不处理绑定。这并不困扰我,因为我正在使用 Red Gate SQL Compare 并且它可以处理这个问题,但是如果您没有使用工具来生成脚本,这可能是一个需要考虑的因素......(通过获取工具来生成脚本!) 另请参阅Microsoft SQL 可编程性和 API 开发团队博客上的使用 T-SQL UDF 上的 SCHEMABINDING 选项改进查询计划。 此外,Kin 对您的原始问题的评论提出了一个很好的附加点,即一旦您包含架构绑定,就有可能为视图编制索引。这可以被认为是一个额外的好处,可能会有所帮助。
在某些情况下,使用模式绑定可以提高性能。
我不记得所有的细节,但找到了一篇很好的博客文章,详细介绍了这一点:
编辑:Paul White 表示这实际上不会影响仅用于连接的视图表线轴。
模式绑定在更改模式时肯定会增加一些额外的维护。这可以被认为是一件好事,因为它可以防止底层架构更改而不处理绑定。这并不困扰我,因为我正在使用 Red Gate SQL Compare 并且它可以处理这个问题,但是如果您没有使用工具来生成脚本,这可能是一个需要考虑的因素......(通过获取工具来生成脚本!)
另请参阅Microsoft SQL 可编程性和 API 开发团队博客上的使用 T-SQL UDF 上的 SCHEMABINDING 选项改进查询计划。
此外,Kin 对您的原始问题的评论提出了一个很好的附加点,即一旦您包含架构绑定,就有可能为视图编制索引。这可以被认为是一个额外的好处,可能会有所帮助。