본문 바로가기
자격증/SQLD

SQLD 정리 / 과목 2 SQL 기본 및 활용 / 제3장 SQL 최적화 기본 원리 / 제2절 인덱스 기본

by RUCKUS 2021. 5. 28.

제2절 인덱스 기본

 

1. 인덱스 특징과 종류

  - 원하는 데이터를 쉽게 찾을 수 있도록 돕는 책의 찾아보기와 유사한 기능

  - DML작업은 테이블과 인덱스를 함께 변경해야하기 때문에 느려질 수 있다

  (1) 트리 기반 인덱스

  • DBMS에서 가장 일반적인 인덱스는 B-트리 인덱스 이다.
  • 브랜치 블록과 리프블록으로 구성
  • 브랜치 블록의 가장 상위의 블록을 루트 블록이라고 한다.


  (2) SQL Server의 클러스터형 인덱스

  • SQL Server에는 클러스터형인덱스, 비클러스터형인덱스가 있다.
  • 클러스터형인덱스의 2가지 중요성
    - 인덱스의 리프페이지가 곧 데이터페이지
    - 리프페이지의 모든 로우는 인덱스키 칼럼순으로 물리적으로 정렬되어 저장됨

 

2. 전체 테이블 스캔과 인덱스 스캔

  (1) 전체 테이블 스캔 : 전체를 스캔하면서 조건에 맞으면 추출, 아니면 버리는 방식, 아래와 같은 경우에 사용한다.

  • SQL문에 조건이 존재하지 않는 경우
  • SQL문의 주어진 조건에 사용 가능한 인덱스가 존재하지 않는 경우
  • 옵티마이저의 취사 선택
  • 병럴처리 방식으로 처리하는 경우 or 전체 테이블 스캔 방식의 힌트를 사용한 경우

  (2) 인덱스 스캔 : 인덱스를 구성하는 칼럼의 값을 기반으로 데이터를 추출하는 액세스 기법

  (3) 전체 테이블 스캔과 인덱스 스캔 방식 비교