"오라클 바인드피크"의 두 판 사이의 차이
DB CAFE
(새 문서: _optim_peek_user_binds 파라미터 확인 <source lang=sql> SELECT A.KSPPINM NAME, B.KSPPSTVL VALUE, B.KSPPSTDF DEF_YN, A.KSPPDESC DESCRIPTION FROM X$KSPPI...) |
|||
1번째 줄: | 1번째 줄: | ||
− | + | = 바인드 피킹 = | |
+ | == 파라미터 확인 == | ||
+ | _optim_peek_user_binds | ||
<source lang=sql> | <source lang=sql> | ||
12번째 줄: | 14번째 줄: | ||
ORDER BY 1 | ORDER BY 1 | ||
; | ; | ||
+ | </source> | ||
+ | |||
+ | == 세션레벨에서 변경 == | ||
+ | <source lang=sql> | ||
+ | ALTER SESSION SET "_optim_peek_user_binds" = TRUE; | ||
+ | </source> | ||
+ | |||
+ | = Adaptive Cursor = | ||
+ | 11g에서는 'Bind Peeking'의 단점을 보완하여 바인드 변수값에 따라 실행계획을 여러 개로 관리. | ||
+ | 11g 에서는 쿼리가 실행될 때마다 캐시에 저장된 실행 계획을 무작정 실행하는 대신, 바인드 변수의 값이 변경되었을 때 실행 계획을 재작성해야 하는지의 여부를 판단하는 과정이 추가 | ||
+ | |||
+ | |||
+ | 파라미터 _OPTIMIZER_ADAPTIVE_CURSOR_SHARING | ||
+ | <source lang=sql> | ||
+ | ALTER SYSTEM SET "_OPTIMIZER_ADAPTIVE_CURSOR_SHARING" = TRUE | ||
+ | ALTER SESSION SET "_OPTIMIZER_ADAPTIVE_CURSOR_SHARING" = TRUE | ||
</source> | </source> |
2019년 7월 31일 (수) 16:47 판
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