인덱스(INDEX)

1. 지수란?

쉽고 빠르게 데이터를 찾을 수 있도록 제공되는 객체

함께 저장된 행의 주소 값으로 인덱스의 키와 테이블의 다른 열에 대한 참조로 검색 조건

– 인덱스 생성 구문

CREATE INDEX 인덱스명 ON 테이블명 ( 컬럼명)

– 인덱스 키(열) 상태.

  1. 대형 객체(LOB) 유형.
  2. 900바이트 이상(SQL Server 2016부터 비클러스터형 인덱스는 최대 1700바이트 지원)

– B-Tree(Balanced – Tree) 구조

루트 레벨 및 중간 레벨: 각 하위 레벨의 인덱스 키 값 및 위치 정보

리프 수준: 인덱스 키 값으로 정렬된 데이터

2. 지수의 종류

-클러스터형 인덱스

테이블 자체를 인덱싱하는 측면에서 인덱스의 리프 페이지는 데이터 페이지입니다.

테이블당 1개만 생성 가능

키로 사용되는 컬럼을 제외하고 나머지 컬럼은 정렬되지 않은 상태로 저장됩니다.

-비클러스터형 인덱스

RID(Line ID) 저장 및 관리 (실제 파일번호 + 페이지번호 + 슬롯번호)

-클러스터형 인덱스 + 비클러스터형 인덱스

클러스터형 인덱스가 존재하는 경우 비클러스터형 인덱스는 RID가 아닌 클러스터형 키를 함께 저장하여 행 위치를 구분합니다.