Wat je hebt is een scalaire UDF (neemt 0 tot n parameters en retourneert een scalaire waarde). Dergelijke UDF's veroorzaken doorgaans een rij-voor-rij bewerking van uw query, tenzij aangeroepen met constante parameters, met precies het soort prestatieverlies dat u ervaart met uw query.
Zie hier , hier en hier voor gedetailleerde uitleg van de prestatievalkuilen van het gebruik van UDF's.