해결된 질문
작성
·
21
답변 1
0
안녕하세요 ㅎㅎ
30은 브랜치노드가 아니라 리프노드에 있습니다.
브랜치 노드와 리프 노드의 개념을 조금 더 구체적으로 설명드릴게요 ㅎㅎ
데이터베이스의 인덱스 구조에서 브랜치 노드는 인덱스 트리의 구조를 이루는 중간 노드로, 실제 데이터가 저장된 위치를 직접적으로 참조하지 않고 다음 노드나 리프 노드로 가는 경로를 나타내는 역할을 합니다. 반면, 리프 노드는 실제 데이터를 가리키는 포인터를 가지고 있어 해당 데이터가 저장된 위치로 바로 접근할 수 있습니다.
예를 들어, 1부터 100까지 property_id
값을 가지는 칼럼에 대해 인덱스를 생성하고, WHERE property_id = 30
이라는 조건을 검색한다고 가정할 때:
브랜치노드를 거치면서 리프노드로 가게 됩니다.
이 때 브랜치노드는 필요한 데이터가 있는 리프노드까지 갈 때 한번에 리프노드로 가면 비용이 많이 드는데 브랜치노드를 통해 적절히 리프노드가 있을만한 범위로 가게 되여 이 때의 비용을 줄여주게 되는 역할을 담당하게 됩니다.
그리고 리프 노드에 도달하면, property_id = 30
이라는 특정 값을 가리키는 데이터 포인터를 찾게 됩니다. 이 데이터 포인터가 실제 데이터의 위치를 나타내며, 이를 통해 해당 데이터를 가져올 수 있습니다.
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.