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