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

Откуда:
Сообщений: 105
SQL Server 2008 R2.

Есть запрос вида Select * from table join -- on -- where C1='value', C2='value', C3='value', C4='value';

Запрос всегда одинаковый, меняются только значения в предложении where (ФИО, код, дата рождения), и для каждого запроса строиться новый план. Если я не ошибаюсь план должен был сохраниться в виде C1='@p', C2='@p1', C3='@p2', C4='@p3';

В чем может быть причина и как исправить?
1 мар 16, 06:48    [18880272]     Ответить | Цитировать Сообщить модератору
 Re: Повторно не используется план запроса.  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 32174
dark_DBa_dmin
В чем может быть причина и как исправить?
Посмотрите параметр PARAMETERIZATION для базы. Может быть, нужно установить его в значение FORCED
1 мар 16, 07:30    [18880299]     Ответить | Цитировать Сообщить модератору
 Re: Повторно не используется план запроса.  [new]
o-o
Guest
В запросе используется join, поэтому и не автопараметризуется.
Если надо изменить ситуацию только для одного запроса, чем для всей базы настройку менять, проще самому параметризовать.
1 мар 16, 09:55    [18880732]     Ответить | Цитировать Сообщить модератору
 Re: Повторно не используется план запроса.  [new]
dark_DBa_dmin
Member

Откуда:
Сообщений: 105
o-o
В запросе используется join, поэтому и не автопараметризуется.
Если надо изменить ситуацию только для одного запроса, чем для всей базы настройку менять, проще самому параметризовать.


Да, надо только для одного запроса.
Я так и сделал, с помощью sp_create_plan_guide.
1 мар 16, 10:58    [18881061]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить