SQLSERVER 의 비 집합 색인 구조 깊이 이해

우 리 는 SQLSERVER 의 데이터 줄 저장 에 두 가지 데이터 구조 가 있다 는 것 을 알 고 있다.A:더미   B:B 나무(binary 이 진 트 리)
데 이 터 는 이런 두 가지 중 하나 에 따라 정렬 하고 저장 합 니 다.데이터 구 조 를 배 운 친 구 는 이 진 트 리 를 알 아야 합 니 다.왜 이 진 트 리 를 사용 하 는 지 알 아야 합 니 다.이분 검색 법 으로 빠 르 기 때 문 입 니 다.
데 이 터 를 찾다.쌓 인 것 이 라면 데 이 터 는 그 어떠한 순서 로 정렬 되 지 않 고 구조 도 없 으 며 데이터 페이지 도 처음부터 끝까지 연결 되 지 않 습 니 다.B 트 리,데이터 페이지 와 같 지 않 습 니 다.
양 방향 링크 를 사용 하여 앞 뒤 가 연결 되 어 있 습 니 다.쌓 인 시 계 는 표 안의 IAM 페이지(색인 배분 맵 페이지)에 만 의존 하여 쌓 인 페이지 를 연결 시 키 고 IAM 에는 페이지 번호,페이지 위 치 를 기록 했다.
표 에 집합 색인 이 있 는 경 우 를 제외 하고 없 으 면 표 안의 데이터 저장 은 더미 구조 이다.
그럼 비 집합 색인 은 요?비 집합 색인 도 더미 구조?사실 SQLSERVER 에는 몇 가지 페이지 형식 이 있 습 니 다.
그 중 하 나 는 색인 페이지 이 고,하 나 는 데이터 페이지 이다.
나 는 많은 책 들 이 분명하게 말 하지 못 하 는 것 을 느 꼈 다.나 처럼 문장의 시작 부분 에서 도 이렇게 말 했다.데이터 줄 의 저장 은 두 가지 데이터 구조 가 있다.A:더미.   B:B 나무(이 진 트 리)
데이터 페이지 의 저장 은 두 가지 데이터 구조 가 있 을 것 이 라 고 생각 합 니 다.1.쌓 기.  2.B 나무
먼저 말 하 겠 습 니 다.색인 페이지 는 색인 을 모 으 든 비 모 으 든 이 색인 데 이 터 는 색인 페이지 에 저장 되 고 색인 페이지 는 모두 B 트 리 의 구조 에 따라 저 장 됩 니 다.
페이지 쌓 기:즉,실제 데이터 줄 입 니 다.표 에 색인 이 모이 지 않 으 면 실제 데 이 터 는 페이지 쌓 기 에 놓 고 색인 을 모 으 면 데 이 터 는 색인 페이지 에 놓 습 니 다.
그리고 B 나무의 노드 는 페이지 라 고도 부 르 고 노드 라 고도 부른다.  B 트 리 에 루트 페이지 가 있 습 니 다.비 집합 색인 과 집합 색인 은 모두 같 습 니 다.
그래서 데이터 줄 의 저장 은 두 가지 데이터 구조 가 있다.A:더미   B:B 나무(이 진 트 리)
위의 이 말 은 알 겠 지?
다시 말 하면 쌓 여 있 는 데이터 페이지 는 완전히 무 작위 로 저장 되 고 데이터 페이지 간 의 유일한 논리 적 연결 은 IAM 페이지 에 기록 되 어 있 기 때문에 IAM 페이지 도 root page 역할 을 한다.
그럼 색인 을 모 을까요?집합 색인 도 더미 구조?
비 집합 색인 은 색인 페이지 에 놓 여 있 고 B 트 리 구 조 는 데이터 가 쌓 여 있 습 니 다.그러면 데이터 페이지 가 쌓 여 있 으 면 색인 을 모 아 B 트 리 의 잎 노드 에 두 지 않 습 니 다.
(즉 색인 페이지 에 넣 는 것)그러면 비 집합 색인 과 실제 데 이 터 는 어떻게 연 결 됩 니까?
정 답 은 비 집합 색인 의 잎 노드(잎 페이지)에 줄 위치 기 가 있 을 수 있 으 며,줄 위치 기 역할 은 아래 의 빨간색 글 자 를 보 세 요.
비 집합 색인 과 집합 색인 은 같은 B 트 리 구 조 를 가지 고 있 는데 그들 사이 의 현저 한 차 이 는 다음 과 같은 두 가지 에 있다.
(1)기본 표 의 데이터 줄 은 비 집합 키 의 순서 로 정렬 하고 저장 하지 않 는 다.
(2)집합 색인 이 아 닌 엽 층 은 데이터 페이지 가 아 닌 색인 페이지 로 구성 된다.
(3)비 집합 색인 을 만 드 는 시 계 는 B 트 리 일 수도 있 고 한 무더기 일 수도 있다.
(4)시계 가 쌓 여 있 으 면(이 시계 가 색인 을 모 으 지 않 았 음 을 의미 함)줄 의 위치 결정 기 가 줄 을 가리 키 는 지침 입 니 다.이 포인 터 는 파일 식별 자 ID:페이지:페이지 의 줄 수 를 생 성 합 니 다.통 짜
포인터 줄 ID(RID)
(5)표 에 집합 색인 이나 색인 보기에 집합 색인 이 있 으 면 줄 위치 지정 기 는 집합 색인 키 를 가리킨다.SQL 은 비 집합 색인 에 저 장 된 잎 사 귀 를 사용 합 니 다.
포인터(집합 색인 키 지향)검색 집합 색인 으로 실제 데 이 터 를 검색 합 니 다.
비 집합 색인 은 실제 데이터 페이지 의 저장 모드 를 바 꾸 거나 개선 하지 않 습 니 다.그의 B 트 리 구 조 는 자신의 색인 페이지 만 을 대상 으로 한다.
그러나 비 집합 색인 은 색인 을 모 으 는 역할 과 마찬가지 로 검자표 에 해당 한다.
마지막 으로 정리 해 보 세 요.이렇게 짧 은 수필 은 무엇 을 정리 합 니까?
당연히 총결산 표 의 구조 이다.왜냐하면 누군가가 포럼 에서 표 의 구 조 를 물 어 본 적 이 있 기 때문이다.
A.색인 을 모 으 는 표 가 있 거나 모 으 는 색인 이 있 거나 비 모 으 기 색인 이 있 습 니 다.   (트 리
B.색인 이 없습니다(더미)
C.색인 을 모 으 지 않 았 습 니 다.비 집합 색인(B 트 리+더미)이 있 습 니 다.
포럼 에서 어떤 사람 은 A 를 집합 표 라 고 약칭 한다.  ,B 와 C 는 시 계 를 쌓 는 것 이다.
예전 에 대학 에서 데이터 구조 선생님 께 서 말씀 하 셨 던 데이터 구조:큰 뿌리 더미  ,작은 뿌리 더미,양 방향 링크,이 진 트 리
안 타 깝 게 도 지금 모두 선생님 께 돌려 드 렸 습 니 다.
 사진 을 첨부 하 다
더미 구조

비 집합 색인 구조

 집합 색인 구조

좋은 웹페이지 즐겨찾기