SQL Server视图或表值函数?

时间:2011-05-13 14:18:49

标签: sql-server tsql view user-defined-functions

任何人都有一个很好的决策树来决定何时使用视图以及何时在SQL Server中使用表值函数?

3 个答案:

答案 0 :(得分:13)

虽然任何视图几乎都可以简单地转换为内联表值函数,但反之亦然。

如果需要对构造进行参数化,则使用内联表值函数。内联表值函数基本上是参数化视图,优化器能够将它们与视图结合并推动。多语句表值函数完全不像内联表值函数。

如果使用内联表值函数不能这样做,请使用多语句表值函数。

答案 1 :(得分:2)

在视图中有一些你不能做的事情(例如表格变量,返回结果集之前的中间结果等)...如果你不需要那些,请查看,如果你这样做, sproc / udf: - )

答案 2 :(得分:-1)

好的,我会给我们用的。我们有表,但我们从不访问表,但有关表的视图。这只是一个安全问题。