리프 페이지와 비 리프 페이지의 차이점은 무엇입니까?


18

인덱스 사용 보고서를 실행하고 있으며 LeafNon-leaf 의 정의를 얻으려고합니다 . 리프 및 비 리프 삽입, 업데이트, 삭제, 페이지 병합 및 페이지 할당이 모두있는 것 같습니다. 나는 그것이 무엇을 의미하는지 또는 하나가 다른 것보다 낫다는 것을 정말로 모른다.

누군가가 각각에 대한 간단한 정의 를 제공하고 Leaf 또는 Non-leaf가 중요한 이유를 설명 할 수 있다면 감사하겠습니다!

답변:


21

다음과 같이 생각하십시오. 리프 레벨 페이지는 색인의 B- 트리 구조를 통한 데이터 검색 의 끝입니다 . 여기에는 인덱스 정의에 정의 된 데이터 (또는 클러스터 된 인덱스의 경우 모든 테이블 데이터)와 데이터 로케이터의 행 로케이터 (비 클러스터형 인덱스의 경우)가 포함됩니다.

비 리프 레벨 페이지 에는 키 값과 다른 비 리프 레벨 페이지에 대한 포인터 (중간 페이지의 B- 트리 깊이 및 위치에 따라)를 포함 시켜 리프 레벨 페이지 / 데이터대한 "로드맵"이 포함됩니다. ) 또는 결과 리프 수준 페이지 (비 클러스터형 인덱스의 인덱스 페이지 및 클러스터형 인덱스의 데이터 페이지).

편집 : 여기 아이디어에 그림을 넣을 좋은 이미지가 있습니다.

여기에 이미지 설명을 입력하십시오


1
좋은 대답이지만 소스 (특히 이미지를 복사 할 때)에 연결해야합니다. technet.microsoft.com/en-us/library/…
MikeTeeVee

4
  • leaf = 모든 행 데이터 데이터가있는 클러스터형 인덱스에서. 비 클러스터형 인덱스에서 인덱스를 구성하는 열과 포함 된 열 및 클러스터형 인덱스 키 (테이블에 클러스터형 인덱스가있는 경우)
  • non-leaf = 내부 인덱스 노드 (인덱스의 일부인 열 데이터 만 포함)

모든 인덱스는 단일 루트 노드로 구성 될 수 있으며 중간 내부 트리 노드의 여러 레이어와 단일 리프 노드로 구성됩니다.

클러스터형 인덱스에서 리프 노드는 실제로 테이블입니다. 비 클러스터형 인덱스에서 리프 노드에는 열 데이터, 포함 된 열 및 클러스터형 인덱스 키가 포함됩니다.

SQL Server 인덱스 기본 사항

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.