백엔드 개발 · 중급
클러스터 인덱스와 논클러스터 인덱스의 차이점에 대해 설명해주세요.
힌트 · 데이터 물리적 정렬과 인덱스 구조의 차이를 생각해보세요.
클러스터형 인덱스물리적 정렬테이블 당 1개논클러스터형 인덱스별도 공간
모범답안
클러스터형 인덱스와 논클러스터형 인덱스는 데이터베이스에서 데이터를 빠르게 검색하기 위해 사용되는 인덱스 방식입니다. 가장 큰 차이점은 데이터의 물리적인 정렬 방식에 있습니다.
클러스터형 인덱스는 테이블의 데이터를 인덱스 키 값에 따라 물리적으로 정렬합니다. 따라서 테이블 당 하나의 클러스터형 인덱스만 존재할 수 있습니다. 마치 사전처럼 데이터 자체가 정렬되어 있기 때문에 검색 속도가 매우 빠릅니다.
반면, 논클러스터형 인덱스는 데이터의 물리적인 정렬에는 영향을 주지 않고, 인덱스 키와 해당 데이터의 위치 정보(row ID 또는 클러스터형 인덱스 키)를 별도의 공간에 저장합니다. 테이블 당 여러 개의 논클러스터형 인덱스를 생성할 수 있으며, 책의 색인과 유사하게 원하는 데이터를 찾기 위한 포인터를 제공합니다. 실제 데이터는 별도로 찾아가야 하므로 클러스터형 인덱스보다는 검색 속도가 느릴 수 있습니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.