powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Разные execution plans для запросов и процедур
4 сообщений из 4, страница 1 из 1
Разные execution plans для запросов и процедур
    #32029339
Alexander_Chepack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто-нибудь сталкивался с тем, что при помещении запроса внутрь хранимой процедуры, генерится совершенно другой execution plan - и производительность может отличаться в разы. Я последнее время часто с этим сталкиваюсь, как на SQL7 так и на SQL2000. Пока нашел только одно решение - использовать hints. Чаще всего при запуске запроса из QA генерится план, использующий LOOP JOINS, а в процедурах используется либо MERGE, либо HASH joins. Не очень я люблю hints использовать - изменится завтра статистика, и жестко-заданный план станет неэффективным. С другой стороны - ждать результат из процедуры 5 секунд, в то время как тот же запрос из QA вернет результат за 700 миллисекунд, тоже неохота.

И еще один связанный вопрос - если я явно прописываю тип джойна в виде Table1 INNER LOOP JOIN Table2 - SQL всегда выдает предупреждение, что тип джойна был переопределен - эти сообщения иногда напрочь убивают клиентское приложение, которое их не ожидает. Если я делаю то же самое, но в виде OPTION (LOOP JOIN) - никаких сообщений не генерится. Проблема в том, что OPTION действует на весь запрос, в котором может быть несколько джойнов, а иногда хотелось бы переопределить только один джойн...
...
Рейтинг: 0 / 0
Разные execution plans для запросов и процедур
    #32029348
Speshuric
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
A with recompile не помогает?
...
Рейтинг: 0 / 0
Разные execution plans для запросов и процедур
    #32029356
Alexander_Chepack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
recompile не помогает
...
Рейтинг: 0 / 0
Разные execution plans для запросов и процедур
    #32029437
Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
при компиляции Sp с параметрами оптимизатор, кажется, руководствуется средними селективностями по параметрам.
При выполнении просто запроса он точнее оценивает селективности (т.к. знчения параметров уже известны)
и строит лучший план запроса.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Разные execution plans для запросов и процедур
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]