#sql #sql_server
Есть функция, которую используют много народа и иногда она страшно тупит.
Если я создаю копию этой функции и выполняю ее эксклюзивно для себя в том запросе,
где тупит исходная функция , то запрос выполняется моментально, а если со старой то
2 минуты.
В чем может быть проблема?
В MS SQL есть какие-то блокировки на уровне объектов?
Планы запросов строятся идентичные.
Внутри функции выполняются всякие соединения с таблицами и т п.
Может такое быть, что старая функция использовала какую-то старую статистику по таблицам,
а новая функция получили обновленную статистику и работает быстрее?
UPD
Похоже дело не в статистике. Если поменять функции местами, то моя только что скомпилированная
процедура начинает тупить, а старая процедура работает нормально...
Ответы
Ответ 1
Быстро ответить на ваш вопрос вряд ли получится, рекомендовал бы прочитать полезную статью про причины подобного замедления - если регулярно работаете с MS SQL, это может быть весьма полезно и познавательно: http://www.somewheresomehow.ru/fast-in-ssms-slow-in-app-part1/
Комментариев нет:
Отправить комментарий