# 실행 계획
- 셀렉트문을 통해서 데이터를 찾는 경로를 뜻한다.
- 쿼리문에서 f10 단축키를 통하여 확인할 수 있다.
- 아래 사진의 Options 항목의 By User Rowid는 해당 셀렉트문이 데이터를 찾은 방식을 가르킨다.

[예시] Full Scan 방식이 되는 경우
- unique 혹은 primary key가 있는 컬럼은 index가 자동으로 생성된다.
- 인덱스가 걸려있는 컬럼에 함수를 사용하면 Full Scan 방식으로 셀렉트문이 동작한다.
- 대용량이 존재하는 테이블에서는 주의해야 한다.
select * from employees where to_number(employee_id) = 100;

[예시] 데이터 분포와 SCAN 방식
- 아래의 두 쿼리는 서로 다른 값을 검색한 결과이다.
쿼리 (1) | 쿼리 (2) |
select * from emplyees where department_id = 10; | select * from emplyees where department_id = 50; |
- (1)의 방식은 Index Scan, (2)의 방식은 Full Scan이다.
- 실행 계획은 데이터의 분포도에 따라서 Scan 방식이 서로 다르게 나온다.

데이터의 양이 많은 곳에는 Index Scan 속도가 빠르지만
데이터의 양이 적은 곳에서는 오히려 Full Scan이 더 빠르다.
'Rdbms > Etc' 카테고리의 다른 글
[Etc] Database (0) | 2025.01.10 |
---|