gpt4 book ai didi

sql-server - 表值函数 (TVF) 与 View

转载 作者:行者123 更新时间:2023-12-01 17:17:54 25 4
gpt4 key购买 nike

表值函数和 View 之间有什么区别?有没有什么事情你可以用其中一个来做,而用另一个却很难或不可能做?或者说区别在于效率?

最佳答案

无参数内联 TVF 和非物化 View 非常相似。下面是我想到的一些功能差异。

观看次数

Accepts Parameters               - No
Expanded out by Optimiser - Yes
Can be Materialized in advance - Yes (through indexed views)
Is Updatable - Yes
Can contain Multiple Statements - No
Can have triggers - Yes
Can use side-effecting operator - Yes

内联 TVF

Accepts Parameters               - Yes
Expanded out by Optimiser - Yes
Can be Materialized in advance - No
Is Updatable - Yes
Can contain Multiple Statements - No
Can have triggers - No
Can use side-effecting operator - No

多语句 TVF

Accepts Parameters               - Yes
Expanded out by Optimiser - No
Can be Materialized in advance - No
Is Updatable - No
Can contain Multiple Statements - Yes
Can have triggers - No
Can use side-effecting operator - No

在运行时, View 和内联 TVF 都是内联的,并且处理方式与派生表或 CTE 类似。它们很可能不会被整体评估(甚至在某些情况下根本不会被评估)or may be evaluated multiple times in others 。多语句 TVF 将始终被评估并存储在返回表类型(基本上是表变量)中

Occasionally the ability to parameterise inline TVFs directly can lead to a better execution plan than the equivalent parameterised query against a view.

关于sql-server - 表值函数 (TVF) 与 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4960137/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com