개발자로 살아가기

* 클러스터드 인덱스 (Clustered Index)

토픽 개발자로 살아가기 > Database > MYSQL > MYSQL 2

참고자료:http://dev.mysql.com/doc/refman/5.0/en/innodb-index-types.html

핵심정리

  • MySQL은 PK에 대해 클러스터드 인덱스를 생성한다. 
  • 클러스터드 인덱스는 B+ 트리 자료구조로 리프노드 = 데이터이다.
  •  클러스터드 인덱스 구조에서 데이터 페이지는 키(PK) 값으로 정렬되어 있다. 
  • FK 인덱스 또는 Create Index 명령으로 생성한 인덱스는 넌클러스터드 인덱스이다.
  •  MySQL의 넌클러스터드 인덱스에서 리프노드는 PK 값을 가진다.

댓글

댓글 본문
  1. mong
    클러스터 인덱스 정말 헷갈리던 부분이었는데 강의보고 거의 이해되었어요!!

    한 가지 궁금한 점은

    B+트리의 리프노드=데이터라고 하셨는데 그럼 데이터 페이지까지 메모리에 저장되는건가요?
    (메모리 용량을 더 많이 차지할 수 밖에 없는건가 궁금합니다.)

    또한 리프노드에 밸류로 RID. 즉, 주소값을 갖고 있다고 했는데 주소값을 가지고 실제 데이터페이지에서 읽는 과정이
    디스크 I/O를 하게 되는게 아닌지? (첫번째 질문에 대한 이해가 안가서 나오는 질문같네요..)

    뒤늦게 영상을 봤는데 정말 도움많이 되었습니다. 지금도 답변 달아주시는지 모르겠지만 너무 궁금해서 써봅니다.. ^^