Rdbms/Etc

[Etc] 실행 계획

hikr90 2025. 1. 10. 00:08

# 실행 계획

- 셀렉트문을 통해서 데이터를 찾는 경로를 뜻한다.

- 쿼리문에서 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