Ale*_*lex 2 sql sql-server sql-server-2008 sql-view
我有一个场景,我将两个表合并为一个(使用UNION),并从其他表中加入JOIN数据.
我可以使用VIEW或UDF /用户定义函数来执行此操作.
考虑到我在我的数据库中到目前为止没有任何视图,但是有很多UDF用于全文搜索等,我很想在这种情况下使用UDF来保持它"干净".
但是,这完全是主观的,我想知道在这种情况下是否有更好的客观理由去寻找VIEW或UDF.
我确实比较了两者的查询计划,它们完全相同,所以我不认为使用任何一个都会有性能损失或优势.
还有其他理由选择其中一个或不重要吗?
我总是按照复杂的顺序使用功能.在性能配置文件和安全性管理方面,视图相对简单.我可能会先用它.
我假设你在谈论一个内联表值UDF,它几乎具有相同的性能特征.UDF上的安全性略有不同,您不能使用触发器而不能在视图上执行"插入"操作.UDF的一个好处是可以强制提供参数,从而确保使用模式符合预期,而视图可以在没有任何标准的情况下查询(可能是意外).
如果你最终希望有一个UDF用于参数化,你可以将它分层放在视图之上(所以没有代码重复),你会发现性能没有受到显着影响,因为优化器可以公平地组合视图和内联TVF成功.
| 归档时间: |
|
| 查看次数: |
1593 次 |
| 最近记录: |