본문 바로가기
[자격증] SQLD(SQL개발자)/↘ SQL 기본 및 활용

[ SQLD ] SQL 최적화 기본 원리 - 2. 인덱스 기본

by 승큐리티 2020. 5. 30.


[ SQLD ] 

3. SQL 최적화 기본 원리

3-2. 인덱스 기본



1. 인덱스 (Index)
원하는 데이터를 쉽고 빠르게 검색하는 방법
기본키는 자동으로 인덱스가 생성됨
테이블에 인덱스를 생성하지 않아도 되고 여러 개를 생성해도 된다.

인덱스 생성
CREATE INDEX 인덱스명 ON 테이블명(칼럼명);

1-1 ) 인덱스 구조 (트리 기반 인덱스)

 

 


Root Block : 가장 상위에 있는 블록
Branch Block : 분기를 목적으로 하며 다음 단계 주소를 가지고 있는 블록
Leaf Block : 인덱스를 구성하는 칼럼의 데이터 , 행의 주소가 있는 레코드 식별자(RID, Record Identifier/Rowid)로 구성


2. 인덱스 스캔 (Index Scan)

2-1) 전체 테이블 스캔 (Index Full Scan)
- 테이블의  모든 데이터를 읽어 가면서 조건에 맞으면 출력하고 맞지 않으면 버리는 방식으로 검색
- 고수위 마크(High Water Mark) 데이터가 쓰여졌던 블록의 최상위 위치를 뜻하며 고수위 아래의 모든 블록을 읽음
- 검색 속도 느림

2-2) 인덱스 유일 스캔 (Index Unique Scan)
- 하나의 데이터를 추출
- 중복을 허락하지 않아 ' = ' 연산을 사용
- 검색 속도 가장 빠름

2-3) 인덱스 범위 스캔 (Index Range Scan)
- 하나 이상의 데이터를 추출
- ' = ' 연산을 제외한 범위연산으로 검색
-  Like, Between 등


 

댓글