Index
검색을 위해 임의의 규칙대로 부여된, 임의의 대상을 가리키는 무언가.
Index in Database
데이터베이스는 내가 원하는 데이터를 어떻게 찾아오는 걸까?
왜 데이터가 많아질수록 점점 느려질까?
왜 조인만 수행하면 느릴까?
왜 쿼리가 느릴까?
Clustered Index vs Non-Clustered Index
Clustered 의 대상 - 데이터와 인덱스
Index 안에 데이터가 포함되있다.
Clustered Index
41 | 안돌, andole98 |
42 | 에이든, cnk91 |
43 | 해리,leey94 |
44 | 지노, jhs69 |
45 | 뚱이, 김민준 |
43등 | 브라운, probitanima |
왼쪽에 예를 집어넣기

범위 검색에는 강력하지만, 삽입, 삭제에 약하다.
PK : 45 - 뚱이
순서대로
한 테이블에 하나만
범위 검색에 좋다.
존재하는 PK 사이에 insert 할 경우 대참사
Non-Clustered Index (a.k.a. Secondary Index)
index 를 순서대로 가져가지 않고 참조를 HashTable 로 가져감
Index 안에 데이터가 포함되지 않는다.

Index 뚱이 - 45등
순서 상관 없음
한 테이블에 여러개
추가 저장 공간 필요
Insert 시 추가 작업 필요
Cardinality 를 고려해서 선정해야함
DataBase Index 동작 원리
Balanced Binary Tree
B-Tree
- Index 에서 가장 흔히 사용하는 자료구조
- 노드를 두개 이상 가질 수 있고 항상 높이가 같다.