백엔드 개발 · 중급
데이터베이스 인덱스의 동작 원리와 B-Tree 인덱스의 구조에 대해 설명해주세요.
힌트 · 인덱스가 검색 성능을 어떻게 향상시키는지 설명해보세요.
인덱스B-Tree균형 트리검색 성능페이지 분할
모범답안
데이터베이스 인덱스는 책의 색인과 비슷합니다. 특정 데이터를 빠르게 찾기 위해 테이블의 열 값과 해당 데이터의 위치 정보를 저장하는 자료구조입니다. 인덱스가 없으면 데이터베이스는 테이블 전체를 스캔해야 하지만, 인덱스를 사용하면 필요한 데이터가 있는 위치로 바로 이동하여 검색 성능을 향상시킬 수 있습니다.
B-Tree 인덱스는 가장 널리 사용되는 인덱스 구조 중 하나입니다. B-Tree는 균형 트리 구조로, 모든 리프 노드가 같은 레벨에 있어 예측 가능한 검색 성능을 제공합니다. 각 노드는 여러 개의 키와 자식 노드에 대한 포인터를 가질 수 있습니다.
B-Tree 인덱스를 통해 검색하는 과정은 루트 노드부터 시작하여 찾고자 하는 키 값과 노드의 키 값을 비교하면서 자식 노드로 이동하는 방식으로 진행됩니다. 만약 노드가 가득 차면 페이지 분할이 일어나 새로운 노드가 생성되고 트리의 균형을 유지합니다. 이러한 구조 덕분에 B-Tree 인덱스는 대용량 데이터에서도 효율적인 검색 성능을 보장합니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.