DB/etc

MSSQL OPTION(RECOMPILE)

sshhhh 2023. 10. 5.

OPTION(RECOMPILE)

해당 옵션을 사용하면 쿼리가 실행될 때마다 실행 계획을 재 컴파일하는 것을 지시합니다.

이렇게 하면 SQL Server가 매번 최신의 테이블 통계 또는 조인 조건과 같은 환경 변경 사항을 고려하여 최적의 실행 계획을 생성할 수 있습니다.

 

 

OPTION(RECOMPILE)을 사용하는 상황은 다음과 같습니다:

  1. 매개 변수 값이 자주 변경되는 경우 
    이 매개 변수 값을 고려한 최적의 실행 계획을 유지하기 위해 OPTION(RECOMPILE)을 사용할 수 있습니다.
  2. 조건부 논리를 가진 동적 SQL 
    동적 SQL을 사용하고 조건부로 WHERE 절이나 조인 조건이 변경되는 경우,
    실행 계획을 동적으로 조정하기 위해 OPTION(RECOMPILE)을 활용할 수 있습니다.
  3. 특정 상황에서 최적의 실행 계획이 필요한 경우
     일부 복잡한 쿼리나 쿼리 조건에 따라 최적의 실행 계획이 다를 때,
    OPTION(RECOMPILE)을 사용하여 매번 최적의 실행 계획을 생성할 수 있습니다.

 

+ `OPTION(RECOMPILE)`은 쿼리 실행 계획을 최적화하는데 도움이 되지만, 쿼리를 실행할 때마다 실행 계획을 다시 만들어 성능에 영향을 줄 수 있습니다.
(재컴파일 옵션은 성능 최적화에 도움을 주지만 쿼리 실행 속도를 늘릴 수 있으므로 필요한 경우에만 사용)

++정적인 쿼리는 쿼리 텍스트가 고정되어 있고 매개 변수 값이 변경되지 않는 경우로,
재컴파일 옵션을 사용할 필요가 없습니다.. 동적 쿼리에만 쓰는 것이 용이합니다.

 

'DB > etc' 카테고리의 다른 글

OPENQUERY  (0) 2023.10.05
MSSQL 자동 증가 열(IDENTITY)과 시퀀스(Sequence)  (0) 2023.10.05
매핑 테이블(mapping table)  (1) 2023.10.05
DB 트랜잭션  (0) 2023.10.05
DB 인덱스 INDEX  (1) 2023.10.05

댓글