✅ Index란?
책에서 필요한 내용을 빠르고 효율적으로 찾기 위해 Index를 참조한다.
⬇️
Database에서 Query를 빠르고 효율적으로 실행하기 위해 Index를 사용한다.
Index가 없으면, 4개의 document만을 반환하는 데에 컬렉션 전체를 탐색한다.
Index가 있으면, 정렬되어있기 때문에 원하는 4개의 document만을 읽는다.
읽기 속도는 빠르지만, Index가 생성된 필드를 수정하게 되면 Index key를 정렬된 상태로 저장해야 해서 변경사항이 Index에도 발생하기 때문에 쓰기에 대한 성능은 낮아진다.
그렇지만, 읽기 속도 향상이 매우 큰 장점이기 때문에 Index를 사용함!
Index 내부 구조
관계형 데이터베이스에서 사용하는 B-Tree Index와 동일한 구조
Root Node → Branch Node → Leaf Node
Single Field Index : 하나의 필드만을 가지고 인덱스를 생성함
Compound Index (복합 인덱스) : 두 개 이상의 필드를 가지고 인덱스를 생성함
앞쪽 필드 중에 동일한 값이 있으면 뒤쪽 필드를 기준으로 정렬함