powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Разное время выполнения запроса в зависимости от способа запуска. Почему?
3 сообщений из 3, страница 1 из 1
Разное время выполнения запроса в зависимости от способа запуска. Почему?
    #39970730
RuCosinus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.

Уже не в первый раз сталкиваюсь с ситуацией, когда запрос, запущенный просто из IDE, например, из той же SSMS, отрабатывает в десятки, а бывает и в сотни раз быстрее, чем он же, но обернутый в процедуру. Самый частый пример, который я встречал (хоть их было и совсем не много) - это когда идет "цепочка" джойнов, вместо "веера" джойнов. Ну, то есть, допустим, есть некие таблицы (A,B,C,D), в каждой из которой есть ID клиента и при необходимости связать эти таблицы в join, мы должны связывать по этому ID. Так вот, вышеописанное поведение мне встречалось, если запрос построен следующим образом:
Код: sql
1.
2.
3.
4.
A 
join B on A.ID=B.ID
join C on C.ID = B.ID
join D on D.ID = C.ID



Если поменять на вот такой запрос, то адовые тормоза при запросе обернутом в процедуру пропадали
Код: sql
1.
2.
3.
4.
A 
join B on A.ID=B.ID
join C on C.ID = A.ID
join D on D.ID = A.ID



Я понимаю, что оба запроса вполне имеют право на существование, в зависимости от того, что мы хотим получить в итоге, но в тех запросах такое исправление было допустимо.

К сожалению, встречал я такие вещи хоть и недавно, но сейчас уже не найду тот пример, поэтому по конкретике подсказать не смогу.

Может кто сможет рассказать о "физике процесса", т.е. почему происходит именно так?
...
Рейтинг: 0 / 0
Разное время выполнения запроса в зависимости от способа запуска. Почему?
    #39970731
RuCosinus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо, вопрос снят. Разместив вопрос полез посмотреть вопросы от других пользователей и через один от моего нашел практически такой-же вопрос, где в ответах указали ссылку http://www.queryprocessor.ru/fast-in-ssms-slow-in-app-part1
Засел читать.
...
Рейтинг: 0 / 0
Разное время выполнения запроса в зависимости от способа запуска. Почему?
    #39971233
Фотография Megabyte
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как минимум, 2 причины: разные настройки сессии(set), протухшая статистика, отсюда разные планы выполнения.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Разное время выполнения запроса в зависимости от способа запуска. Почему?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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