티스토리 뷰

1. RBO의 실행계획 결정원리와 예외 조건들에 대해 설명하시오.

RBO 내장규칙

FROM절에서의 테이블 위치

WHERE절에서의 순서변경

INDEX 생성 및 삭제

- 우선 순위가 빠른 인덱스를 선정함.

- 우선 순위가 같고 동등(Equal) 조건에 의한 검색은 인덱스가 모두 사용됨.

- 우선 순위가 같지만 동등조건이 아닌 경우, 나중에 생성된 인덱스를 사용함.

- 같은 칼럼에 대한 검색 조건 중, 조건이 함수 등에 의해 변형되면 둘 중

나쁜 실행계획이 선택되어 실행됨.

- AND. OR 조건에서 우선 순위를 결정

(AND는 조건절에서 정방향으로 조건을 읽음 / OR는 조건절에서 역방향으로)

2. CBO의 문제점에 대해 설명하고 그 대처 방안에 대해 설명하시오.

- 통계가 있는지 없는지에 대한 유무가 중요함

1. (SELECT TABLE_NAME, LAST_ANALYZED FROM USER_TABLES) 등의 쿼리를 통하여

날짜 정보가 있으면 통계정보가 존재, 없으면 통계정보가 없음.

2. DBMS_STATS를 활용하여 통계정보에 대한 BACKUP / RECOVERY 가능

(DBMS_STATS + DBMS_JOB을 동시에 사용)

3. 최신의 통계정보를 기반으로 하는 것이 원칙이나, 반드시 최신의 통계정보가

우수한 성능을 보장하는 것이 아님(데이터 분포도 관련 문제)

=> 부정확한 통계정보를 기반으로 한 CBO는 성능상 효율이 떨어짐

이러한 현상은 골고루 분산되어 있는 데이터라는 전제 때문에 발생함.

1. 히스토그램(HISTOGRAM)을 통하여 DISTINCT-KEY의 수를 지정하는 등의 방법을 사용

2. 힌트(Hint)설정을 통하여 사용자가 파악한 최적의 실행계획을 수행하도록 SQL문 작성


STOURED OUTLINE을 활용하여 RBO/CBO 모두 튜닝 시

실행계획을 재사용하는 방법도 있음.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함