"오라클 바인드피크"의 두 판 사이의 차이
DB CAFE
31번째 줄: | 31번째 줄: | ||
ALTER SESSION SET "_OPTIMIZER_ADAPTIVE_CURSOR_SHARING" = TRUE | ALTER SESSION SET "_OPTIMIZER_ADAPTIVE_CURSOR_SHARING" = TRUE | ||
</source> | </source> | ||
+ | [[Category:oracle]] |
2019년 12월 22일 (일) 15:18 기준 최신판
thumb_up 추천메뉴 바로가기
- DBA { Oracle DBA 명령어 > DBA 초급 과정 > DBA 고급 과정 }
- 튜닝 { 오라클 튜닝 목록 }
- 모델링 { 데이터 모델링 가이드 }
1 바인드 피킹[편집]
1.1 파라미터 확인[편집]
_optim_peek_user_binds
SELECT A.KSPPINM NAME,
B.KSPPSTVL VALUE,
B.KSPPSTDF DEF_YN,
A.KSPPDESC DESCRIPTION
FROM X$KSPPI A,
X$KSPPSV B
WHERE A.INDX = B.INDX
AND LOWER(A.KSPPINM) LIKE '%' || TRIM(LOWER('_optim_peek_user_binds')) || '%'
ORDER BY 1
;
1.2 세션레벨에서 변경[편집]
ALTER SESSION SET "_optim_peek_user_binds" = TRUE;
2 Adaptive Cursor[편집]
11g에서는 'Bind Peeking'의 단점을 보완하여 바인드 변수값에 따라 실행계획을 여러 개로 관리. 11g 에서는 쿼리가 실행될 때마다 캐시에 저장된 실행 계획을 무작정 실행하는 대신, 바인드 변수의 값이 변경되었을 때 실행 계획을 재작성해야 하는지의 여부를 판단하는 과정이 추가
파라미터 _OPTIMIZER_ADAPTIVE_CURSOR_SHARING
ALTER SYSTEM SET "_OPTIMIZER_ADAPTIVE_CURSOR_SHARING" = TRUE
ALTER SESSION SET "_OPTIMIZER_ADAPTIVE_CURSOR_SHARING" = TRUE