>  기사  >  데이터 베이스  >  mysql B+Tree 인덱스의 개념은 무엇입니까

mysql B+Tree 인덱스의 개념은 무엇입니까

王林
王林앞으로
2023-05-28 15:20:051064검색

Concept

1. B+Tree는 B-Tree 기반의 최적화로 외부 저장소 인덱스 구조 구현에 더 적합합니다. B+Tree에서는 모든 데이터 레코드 노드가 키 값 순서로 동일한 레이어의 리프 노드에 저장됩니다. 리프가 아닌 노드에는 키 값 정보만 저장되므로 각 노드에 저장되는 키 값이 크게 늘어날 수 있습니다. , B+Tree의 높이를 줄입니다.

B-트리와의 차이점

B+ 검색은 B-트리 검색과 기본적으로 동일합니다. 차이점은 B+ 트리는 리프 노드에만 도달한다는 것입니다(B-트리는 리프가 아닌 노드에도 도달할 수 있습니다)

(1) 모든 키워드는 리프 노드의 연결 목록(밀집 인덱스)에 나타나며 연결 목록의 키워드는 순서대로 정렬됩니다(루트 노드만 키워드를 저장하고 트리의 끝 부분에 값이 있음). (2) Not 리프 노드는 리프 노드의 인덱스(희소 인덱스)에 해당하고, 리프 노드는 (키워드) 데이터를 저장하는 데이터 레이어에 해당합니다. (루트가 아닌 노드는 실제로 루트 노드를 가리키는 인덱스를 저장합니다)

(3) 처음 두 점으로 인해 리프가 아닌 노드에는 데이터를 저장하는 것이 불가능합니다. (B-의 세 번째 차이점)

(4) 루트 노드에도 수평으로 체인 포인터가 있습니다(단서를 빠르게 따라가는 것이 편리합니다. 이 포인터가 없으면 다음 값이 인접한 이웃이더라도 뛰어다녀야 합니다. )

사용 지침

2. B+Tree 인덱스는 대부분의 MySQL 스토리지 엔진의 기본 인덱스 유형입니다.

더 이상 전체 테이블 스캔을 수행할 필요가 없기 때문에 트리만 검색하면 되므로 검색 속도가 훨씬 빨라집니다.

B+Tree의 질서정연함으로 인해 검색 외에도 정렬, 그룹화 등의 용도로 활용이 가능합니다.

여러 열을 인덱스 열로 지정할 수 있으며, 여러 인덱스 열이 함께 키를 형성합니다.

전체 키 값, 키 값 범위 및 키 접두사 검색에 적용 가능하며, 키 접두사 검색은 가장 왼쪽 접두사 검색에만 적용 가능합니다. 인덱스된 컬럼의 순서대로 검색되지 않으면 인덱스를 사용할 수 없습니다.

위 내용은 mysql B+Tree 인덱스의 개념은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제