인덱스

rami·2023년 7월 7일
0

Today I Learned

목록 보기
14/34

📌 인덱스의 필요성

인덱스를 설정하면 테이블 안에서 찾고자 하는 데이터를 빠르게 찾을 수 있습니다.

📌 인덱스의 구조

인덱스는 '트리'라는 자료구조로 이루어져 있습니다.
이는 루트노드와 리프노드 그리고 그 사이에 있는 브랜치 노드로 나뉩니다.
(필요한 정보를 찾기 위해 전체 테이블을 탐색하는 것이 아니라 정보가 있을 법한 리프노드로 들어가 탐색)

📌 인덱스의 효율성

대수확장성이란 트리 깊이가 리프노드 수에 비해 매우 느리게 성장하는 것을 의미합니다.

📌 인덱스의 최적화 기법

  • 쿼리에 있는 필드에 인덱스를 무작정 다 설정하면 안됩니다.
  • 컬렉션에 가져와야 하는 양이 많을수록 인덱스를 사용하는 것은 비효율적입니다.
  • 서비스에서 사용하는 객체의 깊이, 테이블의 양에 따라 최적화 기법은 달라집니다. -> 따라서 테스팅이 중요합니다.
  • 복합 인덱스는 같음(==), 정렬, 다중값, 카디널리티(유니크한 값의 정도) 순입니다.
profile
앞으로 나아가는 사람

0개의 댓글