728x90
반응형
SMALL
클러스터 인덱스는 아래와 같이 3줄로 요약이 가능하다.
1. 클러스터 인덱스는 데이터 위치를 결정하는 키 값이다.
2. MySQL의 PK는 클러스터 인덱스다.
3. MySQL에서 PK를 제외한 모든 인덱스는 PK를 가지고 있다.
클러스터 키는 정렬된 자료구조이고 클러스터 키 위치에 따라서 데이터의 주소가 결정된다. 이를 다르게 말한다면 클러스터 키 순서에 따라서 데이터 저장 위치가 변경된다는 뜻이고 데이터 저장 위치가 변경된다는 것은 클러스터 키 삽입 / 갱신 시에 성능이슈가 발생한다. 인덱스를 만들 때마다 pk를 만들게 되므로 PK의 사이즈가 인덱스의 사이즈를 결정하게 된다.
🔎 클러스터 인덱스의 장점
1. PK를 활용한 검색이 빠름(특히 범위 검색)
2. 세컨더리 인덱스들이 PK를 가지고 있어 커버링에 유리
🔎 클러스터 인덱스의 단점
1. 보조인덱스가 PK를 가지고 있어서 전체적으로 인덱스의 크기가 커짐
2. 보조인덱스로 검색을 할 때, PK를 한 번 더 검색해야해서 처리성능 느림
3. 삽입을 어디에 할지 찾아야 되기 때문에 처리 성능이 느림
4. PK를 변경할 때, 레코드를 지우고 다시 INSERT해야하기 때문에 처리성능 느림
728x90
반응형
'Database > MySQL' 카테고리의 다른 글
[MYSQL] 3월에 태어난 여성 회원 목록 출력하기(프로그래머스/Level 2) (0) | 2023.05.17 |
---|---|
[MySQL] 인덱스 자료구조 (0) | 2023.03.06 |
[MySQL] 조회 최적화를 위한 인덱스 이해하기 (0) | 2023.02.04 |
[MySQL] MySQL 아키텍처 (2) | 2023.02.03 |