Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Управление процессом компиляции хранимой процедуры



Компиляция происходит при первом вызове хранимой процедуры. При последующих вызовах хранимой процедуры SQL Server пользуется планом выполнения, который содержится в процедурном кэше. Это позволяет зна­чительно повысить быстродействие системы, поскольку при этом экономится время, затрачиваемое на осуществление компиляции. Однако процедурный кэш не является безразмерным, на его поддержание уходит значительная часть оперативной памяти сервера. Поэтому рекомендуется размещать в нем планы выполнения только наиболее интенсивно используемых хранимых процедур. Можно предписать системе не осуществлять кэширование плана выполнения тех хранимых процедур, что вызываются от случая к случаю. В этом случае повторная компиляция процедуры будет производиться при каждом ее вызове. С другой стороны, перекомпилировать хранимую процедуру при каждом ее вызове зачастую бывает выгодно, поскольку при этом создается новый план, который в большей степени учитывает интенсивное изменение статистических данных. Чтобы сделать это возможным, при определении хранимой процедуры воспользуйтесь ключевым словом RECOMPILE.

СОВЕТ:

При компиляции хранимой процедуры оптимизатор запросов использует статистические дан­ные. Поэтому, во-первых, позаботьтесь о том, чтобы эти данные обновлялись регулярно. Во-вторых, если вы имеете дело с быстро растущей таблицей, время от времени выполняйте пе­рекомпиляцию хранимой процедуры.

Можно спровоцировать принудительную перекомпиляцию хранимой проце­дуры с именем procedure, воспользовавшись следующей хранимой процедурой:

sp_recompile [@objname =] 'procedure'. В результате при следующем вызове указанной хранимой процедуры оптими­затором запросов будет произведена перекомпиляция ее кода.





Дата публикования: 2014-11-28; Прочитано: 246 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...