След като прочетох много от отговорите тук, бих искал да отбележа, че има голяма разлика между вградена функция с таблична стойност и всеки друг вид функция (скаларна или многоредова TVF).
Вграденият TVF е просто параметризиран изглед. Може да се разширява и оптимизира точно като изглед. Не е необходимо да се материализира нищо преди „връщане на резултати“ или нещо подобно (въпреки че, за съжаление, синтаксисът има RETURN
.
Голямо предимство, което открих от вградения TVF пред изгледа, е, че той принуждава изискването за параметризиране, докато с изгледа трябва да приемете, че повикващият ще се присъедини по подходящ начин или ще ограничи използването на изгледа.
Например, имаме много големи таблици с факти в DW с типичен звезден модел на Кимбъл. Имам мнение за модел, центриран върху таблица на фактите, който се обажда без никакви ограничения, ще върне стотици милиони редове. Чрез използване на вграден TVF с подходяща параметризация, потребителите не могат случайно да поискат всички редове. Производителността е до голяма степен неразличима между двете.