튜닝을 위한 3가지 기본 원칙
1. Library Cache 최적화
- Application 커서 캐싱
- Bind 변수 활용
2. DBMS Call 최소화
- Parse Call : Application 커서 캐싱
- Execute Call
- Fetch Call ㅡ Array Processing
3. I/O 성능 효율화
- 수직적 탐색 효율화 -> Random I/O -> Index Rebuild
- 수평적 탐색 선택율 ↑ -> Sequential I/O -> Index Matching degree Up!
- 테이블 랜덤 I/O 최소화 -> Random I/O -> Where절 Column이 모두 Index에 있는지
실행계획 읽는 법
1) 위에서 아래로
2) 안에서 밖으로 읽기
옵티마이저 힌트
- 조인의 순서 및 방법 결정, 인덱스를 결정할 수 있다.
/*+ */ 형식으로 사용하며 조인의 순서, 방법, 인덱스 순으로 작성한다.
-> Select 절바로뒤에작성할것!
Ex) Select /*+ Index (Table Index_name) */
- 조인의 순서 : ORDERED (순서대로), LEADING(E D) -> E D 순서로 조인
- 조인의 방법 : USE_NL (네스티드 루프), USE_HASH (해쉬), USE_MERGE (머지)
- 인덱스 : INDEX (E PK_EMP) -> E테이블의 PK_EMP를 인덱스로 사용
- 인덱스만드는법 : create index Index_name on Table (Column)
'Oracle DB' 카테고리의 다른 글
SQL 파싱 부하 (0) | 2021.04.03 |
---|---|
옵티마이저 원리 (0) | 2021.04.03 |
아키텍처 기반 튜닝 원리 (0) | 2021.04.03 |
네트워크에서의 대기 이벤트들 (0) | 2021.04.03 |
리두(Redo)에서의 대기 이벤트들 (0) | 2021.04.02 |