Есть ли способ оптимизировать этот ужасный неэффективный UDF в SQL Server 08. Я довольно новичок в UDF и особенно смотрю на них для оптимизации.
UPDATE:
Должен ли я отправлять столбец в функцию, подобную этой, если я хочу выполнить ее для каждой строки и каждого столбца в запросе? Есть ли лучший способ сделать это?
Спасибо
** @value (float) и @fieldname (varchar (40)) являются входными параметрами **
BEGIN
DECLARE @UT integer, @FRM integer, @TO integer, @FACTOR float
select @UT = [UF_UT_ID] FROM dbo.UNIT_FIELDS where [UF_FIELD]=@fieldName
select @FRM = [UT_UN_ID_INTERNAL_UNITS] from dbo.UNIT_TYPES where [UT_ID]=@UT
select @TO = [UT_UN_ID_DISPLAY_UNITS] from dbo.UNIT_TYPES where [UT_ID]=@UT
select @FACTOR = [UC_SLOPE] from dbo.UNIT_CONVERSIONS where [UC_UN_ID_UNIT_FROM]=@FRM and [UC_UN_ID_UNIT_TO]=@TO
-- Return the result of the function dbo.
RETURN @FACTOR*@value
END