본문 바로가기
CS(Computer Science)/데이터베이스

[SQL 튜닝] 실행계획

by whdgus928 2023. 9. 10.

실행계획: 사용자가 sql을 실행하여 데이터를 추출하려고 할 때 옵티마이저가 수립하는 작업절차

1. sql 해석

2. 실행계획 수립

3. 실행

 

실행계획 확인 방법

1. explain plan : 실행계획만 확인 가능

2. set autotrace : 한 번의 명령으로 여러 개의 sql에 대한 실행계획을 바로 볼 수 있음

 

옵티마이저 : 사용자가 실행한 sql을 해석하고 데이터를 추출을 위한 실행계획을 수립하는 프로세스, 속도 결정함

 

종류

1. RBO : 초창기 버전

- 기본적으로 15개의 순위가 매겨진 규칙이 있음, 이를 기반으로 실행계획 수립

- 계획이 여러개면 순위가 높은 규칙 사용

RANK  
1 Rowid에 의한 1 row
2 클러스터 조인
3 unique나 pk를 사용한 해시 클러스터 키
 ...  ...

 

2. CBO : 10G부터 기본 설정

- 대상 row들을 처리하는데 필요한 자원 사용을 최소화해서 데이터를 빨리 처리하는데 목적

- 통계정보 이용 : cbo의 성능을 최적의 상태로 유지시키기 위한 테이블, 인덱스, 클러스터 등을 대상으로 통계 정보를 생성

- 정기적으로 분석 작업이 필요

 

통계정보 확인하기

analyze table emp compute statistics

select table_name, num_rows, last_analyzed
from user_tables
where table_name

 

반응형

댓글