У меня есть запрос, который выглядит следующим образом:
SELECT someString FROM
(
SELECT someString FROM someTable
WHERE someField = 1
) X
WHERE dbo.fnMyClrScalarFunction(X.someString) = 0
Проблема в том, что оптимизатор запросов перемещает UDF внутри подзапроса, где он применяется перед довольно ограничительным 'someField = 1'состояние.К сожалению, UDF не совсем быстрый, и это приводит к ужасной производительности.Есть ли способ предотвратить это (кроме использования временной таблицы) или установить для сервера SQL, что UDF стоит дорого?
Заранее спасибо