Връщането на таблична променлива ще я направи функция с таблични стойности с множество изрази и може да бъде лошо за производителността поради факта, че се третира като таблица, освен че няма налични статистики, на които SQL Server да базира добър план за изпълнение - така че ще оцени функцията като връщаща много малък брой редове. Ако върне по-голям брой редове, тогава генерираният план може да е много по-малко от оптималния.
Докато връщането само на SELECT го прави вградена функция със стойност на таблица - мислете за това повече като за гледка. В този случай действителните базови таблици се въвеждат в основната заявка и може да се генерира по-добър план за изпълнение въз основа на правилна статистика. Ще забележите, че в този случай в плана за изпълнение НЯМА да има споменаване на функцията изобщо, тъй като по същество то просто е обединило функцията в основната заявка.
Има страхотна препратка към него на MSDN от инженери на CSS SQL Server включително (цитат):