Помогите ускорить выполнение запроса
Добавлено: 05 июн 2004, 14:10
Помогите ускорить выполнение запроса:
insert into @Pt select * from
select * from @T where Param1=@Par_i as A,
select * from @T3 where F_func_Bool
(param1,param2,param3,@Par_i)=1 as B
where Profit_func_scalar
(param1,param2,param3,param4) > Fr_funk_scalar (@k1,@k2,@K3)
F_func_Bool - логическая функция, Profit_func_scalar и Fr_funk_scalar - скалярные функции, @T,@T3 - таблицы по 20 000 записей
запрос выполняется в циклах достаточно часто,
думаю что если вместо функций подставить конкретное выражение запрос должен выполняться быстрее например
вместо F_func_Bool (param1,param2,param3,@)=1 --> param1>@Par_i
вместо Profit_func_scalar (param1,param2,param3,param4) > Fr_funk_scalar (@k1,@k2,@K3) --> 1/param4 > @K1
но для этого запрос нужно вызывать из текстовой переменной, заменяя функции конкретным выражением
Жду ответа от всех кто знает как это сделать или может предложить другой метод ускорить выполнение запроса
insert into @Pt select * from
select * from @T where Param1=@Par_i as A,
select * from @T3 where F_func_Bool
(param1,param2,param3,@Par_i)=1 as B
where Profit_func_scalar
(param1,param2,param3,param4) > Fr_funk_scalar (@k1,@k2,@K3)
F_func_Bool - логическая функция, Profit_func_scalar и Fr_funk_scalar - скалярные функции, @T,@T3 - таблицы по 20 000 записей
запрос выполняется в циклах достаточно часто,
думаю что если вместо функций подставить конкретное выражение запрос должен выполняться быстрее например
вместо F_func_Bool (param1,param2,param3,@)=1 --> param1>@Par_i
вместо Profit_func_scalar (param1,param2,param3,param4) > Fr_funk_scalar (@k1,@k2,@K3) --> 1/param4 > @K1
но для этого запрос нужно вызывать из текстовой переменной, заменяя функции конкретным выражением
Жду ответа от всех кто знает как это сделать или может предложить другой метод ускорить выполнение запроса