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

Откуда:
Сообщений: 147
Всем доброго времени суток. Столкнулся со следующей проблемой. Есть программа из которой вызываются хранимые процедуры. Утром первый раз запускают программу, думает несколько минут и вываливается так как время ожидание истекло. При повторном запуске выполняется 2-9 секунд.

И каждое утро такая ситуация. Как можно обойти такую проблему?

p.s. Процедура возвращает данные по указанному периоду. Даже если потом разные периоды выставлять то всё равно работает давольно быстро.
18 ноя 14, 07:38    [16862875]     Ответить | Цитировать Сообщить модератору
 Re: Быстродействие Хранимой процедуры  [new]
Ruuu
Member

Откуда: Иркутск
Сообщений: 4272
funny
p.s. Процедура возвращает данные по указанному периоду. Даже если потом разные периоды выставлять то всё равно работает давольно быстро.
Скорее всего, нет нужных индексов либо они не используются. Нужно смотреть план запроса.

При повторном выполнении кэшируются страницы данных, поэтому такое увеличение скорости.

Советую также ознакомиться с этой статьей: Медленно в приложении, быстро в SSMS

funny
Как можно обойти такую проблему?
Если обойти, а не решить, то создайте назначенное задание, которое будет выполнять процедуру перед началом рабочего дня
18 ноя 14, 07:58    [16862911]     Ответить | Цитировать Сообщить модератору
 Re: Быстродействие Хранимой процедуры  [new]
funny
Member

Откуда:
Сообщений: 147
Ruuu,

Ruuu,

и такое уже есть в этой процедуре. Пришлось за декларировать переменные начала и окончания периода внутри ХР и переприсваивать. Ночное задание не вариант. Что теперь пол проги так запиливать. В том то и дело что судя по плану, индексы используются.
18 ноя 14, 08:16    [16862946]     Ответить | Цитировать Сообщить модератору
 Re: Быстродействие Хранимой процедуры  [new]
Ruuu
Member

Откуда: Иркутск
Сообщений: 4272
funny
и такое уже есть в этой процедуре.
Не понял о чем речь.
funny
В том то и дело что судя по плану, индексы используются.
Покажите тогда запрос, план и таблицы с индексами и версию сервера. А то так, это гадание по фотографии.

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

funny
Пришлось задекларировать переменные начала и окончания периода внутри ХР и переприсваивать.
А вот это может повлиять на оценку кардиналити. Уверены, что оно там помогает, а не наоборот?
18 ноя 14, 08:42    [16863023]     Ответить | Цитировать Сообщить модератору
 Re: Быстродействие Хранимой процедуры  [new]
funny
Member

Откуда:
Сообщений: 147
funny
Пришлось задекларировать переменные начала и окончания периода внутри ХР и переприсваивать.
А вот это может повлиять на оценку кардиналити. Уверены, что оно там помогает, а не наоборот?[/quot]

только так и помогает. Случай когда хранимая процедура работает значительно дольше запроса. Входной параметр пере присваиваешь объявленному внутри и процедура так же сразу повышает производительность.
18 ноя 14, 09:26    [16863141]     Ответить | Цитировать Сообщить модератору
 Re: Быстродействие Хранимой процедуры  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31446
funny
И каждое утро такая ситуация. Как можно обойти такую проблему?
А вы не перегружаете сервер каждую ночь "для очистки памяти"? Не стираете кеши? Не делаете обслуживания, которое очищает или вытесняет кеши?
18 ноя 14, 10:37    [16863564]     Ответить | Цитировать Сообщить модератору
 Re: Быстродействие Хранимой процедуры  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7870
funny, если у Вас проблема прослушивания, можно использовать указание OPTIMIZE FOR, но пользуйтесь этим при условии, что статистика распределена равномерно и она регулярно обновляется.
18 ноя 14, 12:00    [16864284]     Ответить | Цитировать Сообщить модератору
 Re: Быстродействие Хранимой процедуры  [new]
funny
Member

Откуда:
Сообщений: 147
alexeyvg,

Да кэши наверное сами по себе вытесняются.
18 ноя 14, 12:14    [16864405]     Ответить | Цитировать Сообщить модератору
 Re: Быстродействие Хранимой процедуры  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
funny
alexeyvg,

Да кэши наверное сами по себе вытесняются.
Ну да, им же ночью скучно просто так сидеть, вот и вытесняются сами по себе, от нечего делать.
18 ноя 14, 23:47    [16868928]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить