행위

"SPM"의 두 판 사이의 차이

DB CAFE

(새 문서: == SPM(SQL Plan Management) === SQL Plan Management 개요 === 11g 부터 9i 때 도입된 바인드 옅보기(Bind Peeking) 기능의 단점을 커버하기 위해 어댑티브...)
 
(SQL Plan Management 개요)
18번째 줄: 18번째 줄:
  
 
# SQL PLAN BASELINE CAPTURE
 
# SQL PLAN BASELINE CAPTURE
## : 현재 SPM에 의해 수락되어 검증된 실행계획에 대한 SQL Baseline을 생성하고,  
+
#:* 현재 SPM에 의해 수락되어 검증된 실행계획에 대한 SQL Baseline을 생성하고,  
## : PLAN History 정보는 SYSAUX 테이블 스페이스에 저장
+
#:* PLAN History 정보는 SYSAUX 테이블 스페이스에 저장
 
# SQL PLAN BASELINE SELECTION
 
# SQL PLAN BASELINE SELECTION
## : PLAN History 에는 수락된(accepted)된 실행계획과 수락되기전의(unaccepted) 실행계획을 모두 포함함.  
+
#:* PLAN History 에는 수락된(accepted)된 실행계획과 수락되기전의(unaccepted) 실행계획을 모두 포함함.  
## : 수락되기전의(unaccepted) 실행계획은 아직 검증(verified)이 되기 전의 실행계획이며, 거부된(rejected) 실행계획은 검증(verified)을 통해 적용할 수 없는 실행계획을 의미한다.  
+
#:* 수락되기전의(unaccepted) 실행계획은 아직 검증(verified)이 되기 전의 실행계획이며, 거부된(rejected) 실행계획은 검증(verified)을 통해 적용할 수 없는 실행계획을 의미한다.  
 
# SQL PLAN BASELINE EVOLUTION
 
# SQL PLAN BASELINE EVOLUTION
## : PLAN History안의 검증이 되지 않은 (all unverified) 실행계획은 이 단계에서 검증을 통해 수락(accept)되거나 거부(reject)된다.
+
#:* PLAN History안의 검증이 되지 않은 (all unverified) 실행계획은 이 단계에서 검증을 통해 수락(accept)되거나 거부(reject)된다.

2020년 7월 14일 (화) 13:36 판

thumb_up 추천메뉴 바로가기


== SPM(SQL Plan Management)

SQL Plan Management 개요[편집]

11g 부터 9i 때 도입된 바인드 옅보기(Bind Peeking) 기능의 단점을 커버하기 위해 어댑티브 커서(adaptive cursor)와 SQL 의 성능을 유지하기 위해 SPM(SQL PLAN MANAGEMENT) 기능을 제공한다. 특히 SPM 기능으로 인해

  1. 옵티마이져는 자동으로 변경되는 SQL 의 실행계획을 관리
  2. 새로운 실행계획이 만들어지더라고, 검증(VERIFY)이 끝날 때까지 새로운 실행계획을 사용하지 않으며
  3. 현재의 실행계획보다 성능이 비슷하거나 향상될 경우에만 사용할 수 있도록 한다.


SPM 은 SQL 의 성능(Runtime-performance)이 실행계획의 변경으로 인해 저하되는 것을 방지하기 위해 개발된 기능이다.

11G SQL PLAN MANAGEMNET

SPM 은 SQL 의 실행계획이 변경되더라도 바로 적용시키지 않고, 검증을 확인된(VERIFY) 실행계획만 받아들이도록 되어있다.

SPM 의 3 가지 주요 구성요소

  1. SQL PLAN BASELINE CAPTURE
    • 현재 SPM에 의해 수락되어 검증된 실행계획에 대한 SQL Baseline을 생성하고,
    • PLAN History 정보는 SYSAUX 테이블 스페이스에 저장
  2. SQL PLAN BASELINE SELECTION
    • PLAN History 에는 수락된(accepted)된 실행계획과 수락되기전의(unaccepted) 실행계획을 모두 포함함.
    • 수락되기전의(unaccepted) 실행계획은 아직 검증(verified)이 되기 전의 실행계획이며, 거부된(rejected) 실행계획은 검증(verified)을 통해 적용할 수 없는 실행계획을 의미한다.
  3. SQL PLAN BASELINE EVOLUTION
    • PLAN History안의 검증이 되지 않은 (all unverified) 실행계획은 이 단계에서 검증을 통해 수락(accept)되거나 거부(reject)된다.