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

Откуда:
Сообщений: 12542
Сервер 2014-ый.

Хранимая процедура запускается в SQL Server Management Studio, отрабатывает за пол-секунды и еще пару секунд на отрисовку нескольких тысяч строк результата.

Запускаю ту-же процедуру, от имени того-же юзера, с той-же машины, но через ODBC. ... SQLExecDirect() работает стабильно четыре минуты, потом еще полчаса крутится в SQLFetch() цикле.

Что-то я в полных непонятнках куда копать.
4 май 17, 20:45    [20458388]     Ответить | Цитировать Сообщить модератору
 Re: Скорость хранимой процедуры зависит от того откуда ее позавали.  [new]
invm
Member

Откуда: Москва
Сообщений: 9347
http://www.queryprocessor.ru/fast-in-ssms-slow-in-app-part1/
4 май 17, 21:32    [20458512]     Ответить | Цитировать Сообщить модератору
 Re: Скорость хранимой процедуры зависит от того откуда ее позавали.  [new]
White Owl
Member

Откуда:
Сообщений: 12542
Очень много воды...

Впрочем, ответ там тоже есть: у сессии через SSMS и внешней сессии через какой-либо протокол, включаются разные параметры по умолчанию, которые тем не менее влияют на оптимизатор.
5 май 17, 17:52    [20461637]     Ответить | Цитировать Сообщить модератору
 Re: Скорость хранимой процедуры зависит от того откуда ее позавали.  [new]
o-o
Guest
Перевирать только не надо.
Ничего подобного там не написано.
Параметры сессии не влияют на оптимизатор.
Зато влияют на возможность/невозможность переиспользования плана.
И если вам другой план построили, то уж никак не по причине "другие параметры сессии",
а по причине "другие прослушанные параметры".
Параметры процедуры, а не сессии.
5 май 17, 18:18    [20461677]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить