Apa yang Anda miliki adalah UDF skalar ( mengambil 0 hingga n parameter dan mengembalikan nilai skalar ). UDF semacam itu biasanya menyebabkan operasi baris demi baris kueri Anda, kecuali jika dipanggil dengan parameter konstan, dengan jenis penurunan kinerja yang persis seperti yang Anda alami dengan kueri Anda.
Lihat di sini , di sini dan di sini untuk penjelasan rinci tentang jebakan kinerja penggunaan UDF.