Ответ 1
Безсмертный встроенный TVF и не материализованный вид очень похожи. Ниже перечислены некоторые функциональные отличия, которые spring для ума.
представления
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
MultiStatement TVFs
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
В представлениях времени выполнения и встроенных TVF оба встраиваются и обрабатываются аналогично производным таблицам или CTE. Они могут не оцениваться полностью (или даже вообще в некоторых случаях) или могут быть оценены несколько раз в других. Multistatement TVF всегда будут оцениваться и сохраняться в типе таблицы возврата (в основном, переменной таблицы)