Index Full Scan과 Table Full Scan 차이

이형석·2025년 4월 24일

오라클 공부

목록 보기
5/6

Index Full Scan

  • Index 컬럼의 데이터만 스캔
  • 필요한 항목이 있으면 그 항목의 본문 페이지(ROWID) 로 이동해서 내용을 확인함

Index Full Scan이 유리한 경우
Index 컬럼이 사용되는 조건문 질의 + 찾는 레코드 행이 적을 때

ex) 
-- CREATE INDEX SI_USERS_AGE ON USERS(AGE);
SELECT
       ID
     , NAME
     , AGE
  FROM USERS
 WHERE AGE <= 20;
 -- Table Full Scan 적용시: 레코드의 ID NAME AGE를 모두 조회하며 탐색
 -- Index Full Scan 적용시: AGE 인덱스 (의 B*TREE 리프 노드들) 만 탐색하다가, 
 --                   조건에 맞는 키 발견시 테이블의 (블록에 접근하여) 나머지 컬럼 조회

Table Full Scan

  • Table의 모든 컬럼의 데이터들을 스캔
  • 중간에 조건 맞는 내용을 찾으면 기록함

Table Full Scan이 유리한 경우
찾는 레코드 행이 많을 때

ex) 모든 레코드를 찾아와야 할 때
SELECT
       ID
     , NAME
     , AGE
  FROM USERS;
-- Table Full Scan 적용시: 바로 테이블의 데이터 블록에 접근하여 탐색
-- Index Full Scan 적용시: 테이블 데이터 블록의 모든 레코드들을 Index 트리를 거쳐서 접근하며 탐색
profile
금융IT 개발자

0개의 댓글