Функцията с вградена таблица с стойност (TVF) е като макрос:тя се разширява във външната заявка. Той няма план като такъв:извикващият SQL има план.
TVF с няколко изявления има план (ще намери препратка).
TVFs са полезни, когато искате да промените списъка SELECT за параметризиран вход. Вградените TVF се разширяват и външният избор/къде ще бъде разгледан от оптимизатора. За TVF с множество оператори оптимизацията всъщност не е възможна, защото трябва да работи до завършване, след това филтър.
Лично аз бих използвал съхранена процедура над TVF с множество оператори. Те са по-гъвкави (напр. подсказки, могат да променят състоянието, ЗАДАВАНЕ НА NOCOUNT, ЗАДАВАНЕ НА XACTABORT и т.н.).
Нямам възражения срещу вградените TVF, но не съм склонен да ги използвам за код, обърнат към клиента, поради невъзможността да се използва SET и промяна на състоянието.