Mengembalikan Variabel Tabel akan menjadikannya fungsi bernilai tabel multi-pernyataan dan bisa buruk untuk kinerja karena fakta bahwa itu diperlakukan seperti tabel kecuali tidak ada statistik yang tersedia untuk SQL Server untuk mendasarkan rencana eksekusi yang baik - jadi itu akan memperkirakan fungsi sebagai mengembalikan sejumlah kecil baris. Jika mengembalikan jumlah baris yang lebih besar, maka rencana yang dihasilkan bisa jadi jauh lebih tidak optimal.
Padahal, mengembalikan hanya SELECT menjadikannya fungsi bernilai tabel sebaris - menganggapnya lebih sebagai pemandangan. Dalam hal ini, tabel dasar yang sebenarnya dibawa ke kueri utama dan rencana eksekusi yang lebih baik dapat dihasilkan berdasarkan statistik yang tepat. Anda akan melihat bahwa dalam kasus ini, rencana eksekusi TIDAK akan menyebutkan fungsi sama sekali karena pada dasarnya hanya menggabungkan fungsi ke dalam kueri utama.
Ada referensi bagus tentangnya di MSDN oleh Insinyur CSS SQL Server termasuk (kutipan):