Vad du har är en skalär UDF (tar 0 till n parametrar och returnerar ett skalärt värde). Sådana UDF:er orsakar vanligtvis en rad-för-rad-operation av din fråga, såvida den inte anropas med konstanta parametrar, med exakt den typ av prestandaförsämring som du upplever med din fråga.
Se här , här och här för detaljerade förklaringar av prestationsfallgroparna med att använda UDF.