Страницы

Поиск по вопросам

понедельник, 29 октября 2018 г.

Копия функции отрабатывает моментально, а оригинал до 2 минут

Есть функция, которую используют много народа и иногда она страшно тупит.
Если я создаю копию этой функции и выполняю ее эксклюзивно для себя в том запросе, где тупит исходная функция , то запрос выполняется моментально, а если со старой то 2 минуты.
В чем может быть проблема?
В MS SQL есть какие-то блокировки на уровне объектов?
Планы запросов строятся идентичные.
Внутри функции выполняются всякие соединения с таблицами и т п.
Может такое быть, что старая функция использовала какую-то старую статистику по таблицам, а новая функция получили обновленную статистику и работает быстрее?
UPD
Похоже дело не в статистике. Если поменять функции местами, то моя только что скомпилированная процедура начинает тупить, а старая процедура работает нормально...


Ответ

Быстро ответить на ваш вопрос вряд ли получится, рекомендовал бы прочитать полезную статью про причины подобного замедления - если регулярно работаете с MS SQL, это может быть весьма полезно и познавательно:
http://www.somewheresomehow.ru/fast-in-ssms-slow-in-app-part1/

Комментариев нет:

Отправить комментарий