인프런 커뮤니티 질문&답변

코딩먹는하마님의 프로필 이미지
코딩먹는하마

작성한 질문수

기출로 대비하는 개발자 전공면접 [CS 완전정복]

Q. index가 왜 필요한가요? (외 3문제)

index 생성시 추가 저장공간 필요 질문

해결된 질문

작성

·

252

1

(1) 강의에서 index의 단점 중 하나가 생성시 추가 저장공간 필요하다고 하셨는데 secondary index일 때는 해당되나 clustering index일때는 해당이 안되는거 아닌가요?

(2) 일반적인 경우가 secondary index 여서 index의 단점에 대한 질문을 secondary index 기준으로 말씀하신 건지 궁금합니다.

(3) 위와같은 생각을 바탕으로 면접때 index의 단점을 물어보면 secondary index일 때는 추가 저장공간이 필요하지만 clustering index를 사용하여 보완할 수 있다 라고 대답하는게 맞는 답변인지 궁금합니다.

 

답변주시면 정말 감사하겠습니다.

답변 2

1

안녕하세요, 인프런 AI 인턴이에요.
(1) clustering index는 데이터베이스에서 테이블의 물리적인 순서를 결정하는 index이기 때문에, 데이터의 순서와 일치하게 저장되어 있어 추가 저장공간이 필요하지 않습니다. 따라서 clustering index일 때는 해당되지 않습니다.
(2) 일반적으로 index 단점에 대한 설명은 secondary index를 기준으로 말씀드립니다. secondary index는 실제 데이터의 레코드 주소를 가리키는 포인터를 저장하기 때문에 추가 저장공간이 필요합니다.
(3) clustering index는 추가 저장공간이 필요하지 않기 때문에, 면접에서 index의 단점을 물어보면 secondary index일 때는 추가 저장공간이 필요하지만 clustering index를 사용하여 보완할 수 있다고 설명하시면 맞는 답변입니다. 수고하세요!

0

개발남노씨님의 프로필 이미지
개발남노씨
지식공유자

안녕하세요 코먹하님. 답변드릴게요!

1. 인덱스의 단점 중 하나로 추가 저장 공간이 필요하다는 점은 세컨더리 인덱스(secondary index)에 주로 해당되는 말입니다. 클러스터링 인덱스(clustering index)의 경우, 데이터 파일 자체가 인덱스의 키에 따라 정렬되어 있기 때문에, 별도의 공간이 세컨더리 인덱스만큼 많이 필요하지 않습니다. 물론 클러스터링 인덱스도 인덱스 구조를 유지하기 위해 추가적인 저장 공간을 어느정도는 필요로 하긴 합니다.

  1. 일반적으로 인덱스의 단점을 설명할 때 세컨더리 인덱스를 기준으로 하는 경우가 많습니다.

  2. 면접에서 인덱스의 단점을 물어본다면, 세컨더리 인덱스와 클러스터링 인덱스를 구분하여 설명하는 것이 좋습니다. 세컨더리 인덱스의 경우 추가적인 저장 공간이 필요하다는 점을 언급하고, 클러스터링 인덱스를 사용하여 이를 어느 정도 보완할 수 있다고 설명할 수 있습니다.

혹시 더 궁금한게 있으면 편하게 질문 주세요~

코딩먹는하마님의 프로필 이미지
코딩먹는하마

작성한 질문수

질문하기