Страницы

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

среда, 11 декабря 2019 г.

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

#sql #sql_server


Есть функция, которую используют много народа и иногда она страшно тупит.

Если я создаю копию этой функции и выполняю ее эксклюзивно для себя в том запросе,
где тупит исходная функция , то запрос выполняется моментально, а если со старой то
2 минуты.

В чем может быть проблема? 

В MS SQL есть какие-то блокировки на уровне объектов?

Планы запросов строятся идентичные.

Внутри функции выполняются всякие соединения с таблицами и т п.

Может такое быть, что старая функция использовала какую-то старую статистику по таблицам,
а новая функция получили обновленную статистику и работает быстрее?

UPD

Похоже дело не в статистике. Если поменять функции местами, то моя только что скомпилированная
процедура начинает тупить, а старая процедура работает нормально...
    


Ответы

Ответ 1



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

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

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