인덱스 데이터 구조 (해시, B + 트리)

인덱스의 분류의 데이터 구조

  • 해시시
  • B + 트리

두. 해시

  1. 무질서한 해시 테이블
    장애를 신속 해시 테이블이 정확한 쿼리 할 수 있지만, 그러나 범위 쿼리를 지원하지 않습니다 소개 [특징]. 정렬되지 않은 해시 테이블의 인덱스가, 모든 데이터가 매우 느린 쿼리의 결과로 스캔 할 경우,
    [] 사용 시나리오 : 해당하는 쿼리를 그와 같은 키 - 값 시나리오, 상기 레디 스;

  2. 정렬 된 해시 테이블
    [특징] 소개 : 정적 데이터에 대한 해시 테이블 쿼리를 명령했다. 데이터의 구조를 변경하는 경우, 삭제, 변경 사항을 추가합니다. 그런은 같이 모든 노드가 이동 한 후 새로운 위치가 후 증가 동작을 할 때, 비용이 높다.
    [사용] 장면 : 해당하는 쿼리, 쿼리를 다양합니다. 그것은 정적 데이터 저장, 정적 스토리지 엔진으로 사용할 수 있습니다. 예를 들면 : Taobao의 법안.

세. B + 트리

  1. B - 트리
    노드가 여러 요소를 저장할 수, 나무는 B-트리 완벽 디스크 IO의 효율성을 향상, 전반적인 이진 트리의 높이를 균형보다 높다.

  2. B + 트리
    [특징] 소개 : B + 트리는 B- 트리의 변형이다. 비 - 리프 노드 효율 범위 룩업 증가 된 데이터 레코드들 중 모든 리프 노드가 리프 노드에 저장되는 포인터의 체인, 거기에만 키 정보를 저장한다.
    그림 삽입 설명 여기
    사용 시나리오] : MySQL의 인덱스는 디스크 IO 및 쿼리 인덱스 범위 쿼리의 효율성을 개선하기 위해 B + 트리를 사용합니다.

    [주] :B+树中一个节点为页的倍数最为合适,不是页的倍数会造成资源的浪费。

게시 70 개 원래 기사 · 원 찬양 4 · 조회수 6379

추천

출처blog.csdn.net/qq_44837912/article/details/104360465