데이터베이스 인덱스에 대해서 설명해 주세요.
·
백엔드 면접
인덱스는 데이터베이스 테이블의 검색 속도를 향상시키기 위한 자료 구조로 백과사전의 색인과 같습니다. 저장되는 컬럼의 값을 사용하여 항상 정렬된 상태를 유지하는 것이 특징입니다. 이러한 특징으로 인해 인덱스는 INSERT, UPDATE, DELETE와 같은 쓰기 성능이 희생된다는 단점이 있습니다. 인덱스는 어떤 자료 구조로 이루어져 있나요?MySQL InnoDB를 기준으로 B+ Tree와 같은 변형 B-Tree 자료 구조를 이용해서 인덱스를 구현합니다. 기본 토대는 B-Tree 인덱스이기 때문에 이를 기준으로 설명하겠습니다. B-Tree(Balanced-Tree) 인덱스는 컬럼의 값을 변형하지 않고 인덱스 구조체 내에서 항상 정렬된 상태로 유지합니다. B-Tree는 크게 3가지 노드가 존재합니다. 최상위..