MS SQL Server 2000, пользовательские функции
Есть некоторый запрос, который выполняется 15 сек. Если запихать его в пользовательскую функцию, которая возвращает таблицу, то скорость выполнения увеличится в 9 раз!!!
Это нормально или у меня какие-то непонятки???
Попробуйте посмотреть Execution Plan в Query Analizer. SQL Server - хитрая собака и каждый раз пытается максимально все оптимизировать. При достаточно простых запросах он нормально справляется, но бывают случаи, когда он не угадывает с индексом и т. д. Скорей всего в вашем случае SQL Server просто-напросто избирает разные способы оптимизации запроса. Эту оптимизацию можно увидеть на Execution Plan