powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как бороться с тормозами
4 сообщений из 4, страница 1 из 1
Как бороться с тормозами
    #32026045
Женя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В хранимой процедуре такая конструкция:

if ....

else if ....

else if ....

и так далее порядка 10 раз.
После каждого if стоит select с разными условиями.
Процедура выполняется долго - порядка 10 секунд.
Если выполнять каждый select отдельно или в процедуре оставить только один, то он выполняется быстрее секунды.
В чем может быть дело?
Может SQL Server пытается предварительно выполнить все запросы, чтобы потом оптимизировать каким-нибудь одному ему ведомым способом?
Можно это дело выключить?
...
Рейтинг: 0 / 0
Как бороться с тормозами
    #32026047
Replicant
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А что за условие в IF,ELSE IF проверяется?
Может там что-ниь типа EXIST и за него "тормоза"...
...
Рейтинг: 0 / 0
Как бороться с тормозами
    #32026048
Фотография cvasil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так ничего удивительного
План выполнения процедуры строится при ее первом запуске.
Если вдальнейшем процедура вызывается с другими параметрами и ход ее
выполнения существенно меняется (например срабатывает другой if), то
сгенеренный ранее план скорее всего уже не будет оптимальным.
В данном случае я бы оформил каждый селект в виде
отдельной процедуры, и уж потом вызывал их из if..else if ...else
На крайний случай можно использовать опцию with recompile
...
Рейтинг: 0 / 0
Как бороться с тормозами
    #32026051
Женя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, помогли куча хранимых процедур. Хотя это как-то некрасиво
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как бороться с тормозами
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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