행위

"오라클 바인드피크"의 두 판 사이의 차이

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 파라미터 확인
+
= 바인드 피킹 =
 +
== 파라미터 확인 ==
 +
_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 추천메뉴 바로가기


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