воскресенье, 31 января 2010 г.

Stored Procedures: sp_recompile

Как я недавно выяснил, не все знают об этой очень полезной хранимой процедуре.
Данная процедура выполняет перекомпиляцию, а так же обновление исходных планов для хранимых процедур и триггеров.
Sql Server автоматически обновляет планы при первом запуск процедуры (триггера) после рестрарта службы Sql Server'а, а также после после обновления схемы таблиц, используемых в запросах процедуры (триггера). Но при построении более подходящего индекса перестроение плана не происходит.
Иногда происходит такая ситуация, одна и та же хранимаю процедура с одними и теми же параметрами выполнятеся разное время из Managment Studio и из приложения (или сайта), причем это видно через Sql Profiler (то есть тормозов в приложении быть не может); проблему решает именно sp_recompile.
Для выполнения данной системной процедуры используется следующий синтаксис:
sp_recompile [ @objname = ] 'object'
Более подробная информация в BOL: sp_recompile, перекомпиляция храницых процедур.

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

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