SQLServer: Почему следует избегать пользовательских функций с табличными значениями?

У меня довольно большой запрос, который требуется в нескольких хранимых процедурах, и я хотел бы перевести его в UDF, чтобы упростить его поддержку (представление не работает, требуется множество параметров), однако каждый Я когда-либо говорил, сказал мне, что UDF невероятно медленно.

Хотя я не знаю, что именно делает их медленными, я буду догадываться, что они есть, но, видя, что я не использую этот UDF в соединении, а вместо этого возвращает табличную переменную, я думаю, что это не будет будь таким плохим.

Так что я думаю, вопрос в том, стоит ли мне избегать UDF любой ценой? Кто-нибудь может указать на конкретные доказательства того, что они медленнее?

Ответы на вопрос(4)

Ваш ответ на вопрос