8.3.5 다중 컬럼(Multi-column) 인덱스

조현근·2022년 12월 12일
0
post-thumbnail

모든 내용은 Real MySQL 8.0 1권에서 가져왔습니다!!
8.3.5 다중 컬럼 인덱스

다중 컬럼(Multi-column) 인덱스

이전 인덱스 정복기에서 살표본 인덱스들은 모두 1개의 column만 포함된 인덱스였다. 하지만 실제 서비스용 데이터베이스에선 2개 이상의 column을 포함하는 인덱스가 더 많이 사용된다. 두 개 이상의 column으로 구성된 인덱스를 다중 컬럼 인덱스(또는 복합 컬럼 인덱스)라고 하며 2개 이상의 컬럼이 연결됐다고 해서 Concatenated Index라고도 한다.

아래 그림은 2개 이상의 컬럼을 포함하는 다중 컬럼 인덱스의 구조를 보여준다.
[Real MySQL 그림 8.13]

위 그림에선 편의상 루트 노드는 생략했지만 실제로 루트 노드와 리프 노드는 항상 존재한다. 데이터 레코드 건수가 적은 경우 브랜치 노드가 없는 경우는 있을 수 있다.
인덱스의 두 번째 컬럼은 첫 번째 컬럼에 의존해서 정렬된다. 두 번째 컬럼의 정렬은 첫 번째 컬럼이 똑같은 레코드에서만 의미가 있다.
위의 그림에서 emp_no 값의 정렬 순서가 빠르더라도 dept_no 컬럼의 정렬 순서가 늦다면 인덱스의 뒤쪽에 위치한다.

profile
안녕하세요!

0개의 댓글