Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 работа функции  [new]
saley
Member

Откуда:
Сообщений: 633
Здравствуйте,

Проблема вот в чём:
создал функцию с входными параметрами возвращающую готовую таблицу.
 FUNCTION  [dbo].[fn_PlanGrafikPlan](@id_versh int, @plyear int, @Fact int)

Когда запускаю её,
select * from [fn_PlanGrafikPlan](589, 2017, null) 

выполнение занимает 7-10 минут.(Хотя часом ранее этот же запрос выполнялся за секунду)
Меня это конечно не устраивает и я смотрю запрос в теле функции.
Задаю те же самые параметры,
/*
ALTER       FUNCTION  [dbo].[fn_PlanGrafikPlan](@id_versh int, @plyear int, @Fact int)
RETURNS table as 
return
(
*/
declare @id_versh int, @plyear int, @Fact int
set @id_versh = 589
set @plyear = 2017
set @Fact = null


запускаю и...
Выполнение занимает около секунды.
Вопрос: почему так происходит? Может глюк?

Если есть идеи подскажите пожалуйста.
30 янв 17, 16:33    [20162710]     Ответить | Цитировать Сообщить модератору
 Re: работа функции  [new]
holod-iinna
Member

Откуда:
Сообщений: 96
saley,

а дальше объявления показать код?
в нем вся хитрость =)
30 янв 17, 17:06    [20162902]     Ответить | Цитировать Сообщить модератору
 Re: работа функции  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6802
holod-iinna,

нет там никакой хитрости... не пользуйтесь люди не inline функциями ибо план их плох. Напили на все свои внутренние запросы OPTION (RECOMPILE)
30 янв 17, 17:18    [20162971]     Ответить | Цитировать Сообщить модератору
 Re: работа функции  [new]
invm
Member

Откуда: Москва
Сообщений: 9836
TaPaK
не пользуйтесь люди не inline функциями ибо план их плох.
У ТС'а как раз инлайновая.

saley
почему так происходит?
Потому что у запросов разные планы выполнения.
saley
Может глюк?
И зовут его "parameters sniffing".
30 янв 17, 18:07    [20163148]     Ответить | Цитировать Сообщить модератору
 Re: работа функции  [new]
saley
Member

Откуда:
Сообщений: 633
invm,
спасибо большое за помощь.
Сажусь изучать этот феномен)))
30 янв 17, 23:05    [20163977]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить