有没有一个好的决策树,可以帮助我们在 SQL Server 中决定何时使用视图,何时使用表值函数?
有没有一个好的决策树,可以帮助我们在 SQL Server 中决定何时使用视图,何时使用表值函数?
尽管任何视图几乎都可以轻松转换为行内表值函数,但反之则不成立。
如果需要进行参数化,则使用行内表值函数。 行内表值函数基本上是优化器能够将它们与视图组合并推动操作的参数化视图。 多语句表值函数与行内表值函数完全不同。
如果无法使用行内表值函数,则使用多语句表值函数。
在视图中有一些你不能做的事情(例如使用表变量,在返回结果集之前使用中间结果等)... 如果你不需要这些,就使用视图;如果你需要,就使用存储过程/用户定义函数 :-)
好的,我来解释一下我们的用途。我们有这些表格,但我们从未直接访问这些表格,而是通过与这些表格相关的视图进行访问。这只是一个安全问题。