보기 만 해도 알 수 있 는 MySQL 의 클 러 스 터 인덱스 와 클 러 스 터 인덱스 가 어떻게 자 랐 는 지

이 필 기 는 우리 가 약술 해 보 자.
  • MySQL 의 B+Tree 색인 은 도대체 어떻게 된 겁 니까?
  • 클 러 스 터 색인 이 어떻게 자 랐 는 지
  • 조금씩 보면 사실 이해 하기 쉽다.
    만약 당신 이 나의 이전의 필 기 를 보 았 다 면,당신 은 MySQL 이 CRUD 를 진행 하 는 것 이 메모리 에서 진행 되 는 것,즉 Buffer Pool 에서 진행 되 는 것 을 알 게 될 것 입 니 다.그리고 메모리 에 MySQL 에 필요 한 데이터 가 없 을 때 MySQL 은 Disk 에서 IO 작업 을 통 해 데 이 터 를 메모리 에 읽 는 것 을 알 게 되 었 습 니 다.읽 는 단 위 는 데이터 페이지 입 니 다.
    일반 데이터 페이지 길이 아래 이렇게

    맞 아,데이터 페이지 에 진실 한 데이터 가 저장 되 어 있 고 데이터 페이지 는 메모리 에 양 방향 연결 표 로 구성 되 어 있어!아래 그림

    B+Tree 설정 에 서 는 홈 키 색인 을 요구 할 때 증가 합 니 다.즉,홈 키 색인 이 증가 하면 오른쪽 데이터 페이지 의 모든 데이터 가 왼쪽 데이터 페이지 의 데이터 보다 커 야 합 니 다.그러나 위의 그림 이 맞지 않 는 것 이 분명 하기 때문에 페이지 분열 을 통 해 아래 와 같이 조정 해 야 한다.

    자,지금 생각해 보 세 요.전에 들 어 본 적 이 있 을 겁 니 다.MySQL 의 B+Tree 클 러 스 터 색인 은 잎 노드 만 실제 데 이 터 를 저장 합 니 다.잎 노드 에 저 장 된 것 은 색인 데이터 가 아니 라 잎 노드 간 에 양 방향 링크 를 통 해 연결 되 어 있 습 니 다.
    맞아요.그 모든 B+Tree 의 잎 사 귀 노드 는 위의 그림 의 데이터 페이지 이 고 양 방향 링크 를 통 해 연결 되 어 있 습 니 다!
    우 리 는 이어서 아래 를 내 려 다 보 았 다.만약 에 위의 그림 이 데이터 페이지 로 연 결 된 양 방향 링크 만 본다 면 이때 우리 가 id=7 의 데이터 줄 을 검색 하면 무슨 일이 일어 날 까요?
    분명히 우리 처음부터 스 캔 해 야 돼!
    그러면 물 어 볼 수도 있 습 니 다.방금 B+Tree 가 메 인 키 를 요구 하 는 것 이 증가 하 는 것 이 라 고 하지 않 았 습 니까?또한 페이지 분열 메커니즘 은 오른쪽 데이터 페이지 의 모든 데이터 가 왼쪽 데이터 페이지 의 색인 값 보다 크다 는 것 을 보증한다.그럼 2 점 검색 하면 안 돼 요?
    답:네,한 데이터 페이지 에서 2 분 동안 찾 을 수 있 지만 데이터 페이지 간 의 조직 관 계 는 링크 입 니 다.그래서 처음부터 옮 겨 다 니 는 것 은 피 할 수 없습니다.
    그럼 MySQL 은 어떻게 되 는 거 예요?
    다음 그림:MySQL 은 여러 데이터 페이지 에 대해 색인 디 렉 터 리 를 추상 화 했다.

    그러면 이 색인 디 렉 터 리 가 있 습 니 다.우 리 는 많은 데이터 페이지 에서 검색 할 때 훨씬 쉬 워 보 입 니 다!바로 2 점 검색 능력 을 갖 게 되 었 습 니 다!
    그리고 이 때문에 디 렉 터 리 도 데이터 페이지 에 존재 합 니 다.잎 노드 와 달리 그 안에 지식 은 색인 정 보 를 저장 하고 잎 노드 에 저 장 된 것 은 실제 데이터 입 니까?
    색인 페이지 의 탄생 은 B+Tree 의 초기 형태 가 탄생 했다 는 것 을 의미한다!
    사용자 가 계속 select 에 따라 buffer pool 의 데이터 페이지 가 점점 많아 지면 서 색인 페이지 의 데이터 도 높 아 질 것 입 니 다.기 존의 색인 크기 가 16KB(데이터 페이지 의 용량)를 초과 할 때 새로운 색인 페이지 를 만들어 서 새로운 색인 정 보 를 저장 해 야 합 니 다.이때 이 B+Tree 는 점점 뚱뚱 해 집 니 다.
    그러면 너 도 알다 시 피 B+Tree 는 B 나무의 변종 이 고 B 나 무 는 2-3 나무,2-3-4 수....................................................................
    다음 그림 처럼:

    이상 은 바로 한눈 에 알 수 있 는 MySQL 의 클 러 스 터 색인 과 클 러 스 터 색인 이 어떻게 자 랐 는 지 에 대한 상세 한 내용 입 니 다.MySQL 클 러 스 터 색인 에 관 한 자 료 는 다른 관련 글 에 주목 하 시기 바 랍 니 다!

    좋은 웹페이지 즐겨찾기