홈 › SQL 중급 › 09 / 11

인덱스 기초

B-tree, 복합 인덱스, 인덱스를 못 타는 조건
섹션 6진행 0 / 11

6. 정리

인덱스는 컬럼 값을 미리 정렬해 둔 B-tree 구조로, 조건에 맞는 행을 O(log n) 수준으로 빠르게 찾습니다. PK 와 이름 붙인 UNIQUE 제약은 CREATE INDEX 없이도 자동으로 인덱스를 만들며, 복합 인덱스는 선두 컬럼 조건이 있어야 탑니다. 컬럼 가공, 연산, 앞쪽 와일드카드, 암묵적 형변환, 부정 조건은 인덱스가 있어도 못 타게 만드는 대표적인 원인이며, 이 레슨의 EXPLAIN 예제로 직접 확인했습니다.

인덱스는 조회를 빠르게 하는 대신 쓰기 성능과 저장 공간을 소모하므로, 무조건 많이 걸기보다 EXPLAIN 으로 실제 사용 여부를 확인합니다. 함수 기반 인덱스(Oracle (UPPER(col)), MySQL ((UPPER(col))))와 포함 컬럼(MSSQL INCLUDE)은 DB 마다 문법이 다르며, 실행 계획을 자세히 읽는 방법은 SQL 고급 09 레슨에서 이어집니다.