오라클 에서 개발자가 실행하는 SQL문이 재파싱되지 않기 위해서는 반드시 동일한 SQL문이 실행되어야 합니다. 모든 조건은 동일한데 조건절의 상수 값이 틀린 경우 또는 바인드변수의 값이 틀린 경우에도 동일한 SQL문으로 인정되지 않아 재파싱을 하는 경우가 많이 발생하였습니다. 오라클 에서는 동일한 SQL문을 만들기 위해서 cursor_sharing 파라메터를 제공하고 있습니다.
1.CURSOR_SHARING = EXACT
2개의 문장에 사용된 SQL문이 모두 동일한 조건을 가져야만 파싱 정보를 공유할 수 있습니다.
WHERE 조건에 정의된 상수가 동일해야 합니다.
가. select * from dept where deptno = 30;
나. select * from dept where deptno = 40;
==> 실행된 2개의 문장에 대한 파싱 정보가 각각 생성됩니다.
2.CURSOR_SHARING = FORCE
2개의 문장에 사용된 SQL문이 모두 동일해야 파싱 정보를 공유할 수 있습니다. 단,WHERE 조건에 정의된 바인드 변수가 각각 다른 값을 가지고 있더라도 공유할 수 있습니다.
가.select * from dept where deptno = 10;
나.select * from dept where deptno = 12;
==> 실행된 2개의 문장에 대한 파싱 정보가 하나만 생성됩니다.
3.CURSOR_SHARING = SIMILAR
2개의 문장에 사용된 SQL문이 모두 동일해야 파싱 정보를 공유할 수 있습니다. 단, WHERE조건에 정의된 상수가 다르더라도 커서를 공유할 수 있습니다.
가.select * from dept where deptno = 10;
나.select * from dept where deptno = 12;
==> 실행된 2개의 문장에 대한 파싱 정보가 하나만 생성됩니다.
'DB - ORACLE > DB 설치 & 구축' 카테고리의 다른 글
ORACLE의 인증 제품 확인 사이트 (0) | 2015.11.02 |
---|---|
오라클 데이타베이스 초기화 파라미터 (일부) (0) | 2015.09.07 |
AIX RAC PSU 적용 절차 (0) | 2015.08.07 |
AIX HACMP(RAWDEVICE)기반의 11g RAC 구성 절차 매뉴얼 (0) | 2015.08.07 |
Oracle 11g R2 silent mode 설치 (0) | 2015.08.03 |