반응형
/********************************************************************************************
-- Title : [2k] 프로시저 재컴파일 원인 및 필요성
-- Reference : blog.naver.com/whwlfnsl
-- Key word : recompile procedure 프로시저 재컴파일
********************************************************************************************/
-- 안하면 까먹는다..!!
-- 다시보자 재컴파일...!!


[언제 Recompile이 필요한가]

- Cache 실행 계획이 비효율적이라고 판단되는 경우

- 프로시저 내 쿼리가 항상 동일한 실행 계획을 가지지 않는 경우

- 파라미터 따라 실행 계획이 달라지는 경우

- 데이터 변경이 이루어지는 경우(예, 반복적인 배치 작업)

- 등등.....

 
[재컴파일 원인]

- WITH RECOMPILE 절 사용(실행시 마다 재컴파일)

- 테이블, 제약조건, 기본값 또는 규칙의 추가, 제거를 포함한 참조 개체의 스키마 변경

- 통계 정보 변경

- 인덱스 추가/제거

- 참조한 테이블에 대해 sp_recompile수행

- 데이터베이스 복원

- 오래된 계획으로 프로시저 캐시에서 제거

- 프로시저안에서 #임시테이블을 만드는 경우

- SET 옵션 변경, 세션 옵션 구문 존재시

- DDL과 DML 구문을 교차 실행하지 않고 순서대로 실행

   * CREATE;CREATE;.........SELECT;SELECT

- sp_configure 실행



반응형

+ Recent posts