순서 m의 B- 트리의 경우, 루트를 제외한 모든 노드는 m-1 내지 2m-1 요소를 포함해야하며, 여기서 모든 요소는 적어도 하나의 키이고 임의의 추가 데이터 (예를 들어, 값) 일 수도있다. 그러나 기본 블록 장치에서 우수한 성능을 발휘하려면 각 노드가 일정한 전체 크기를 선택해야합니다. 요소가 가변적 인 경우 어떻게됩니까?요소의 크기가 다른 경우 B-Tree 불변성을 유지하는 방법은 무엇입니까?
SQLite3에는 추가 블록 크기의 조각을 노드에 고정시키는 계획이있는 것 같습니다. MySQL에서는 레코드의 크기를 선언 할 수 있습니다 (예 : 문자열을 입력 할 수도 있고 크기가 작은 문자열을 입력 할 수도 있습니다) . 거기에 다른 해결책이 있습니까? 그리고 사람들이 다른 사람을 뽑을 때 무엇을 생각합니까?
편집 : 그리고 이전 문장에 의해, 내 말은, 데이터베이스 개발자가 가 B-나무 다른 이상 하나의 방법을 구현하기로 결정하는 경우에 대해 어떻게 생각합니까?
(나는 지금 데이터베이스의 과정에서, 그래서 내가 특정 시스템의 세부 사항에 비해 이론 및 설계 각도에 더 관심이 있어요.)
아, 맞아, "데이터베이스 개발자는 B- 트리를 어떤 방법으로 구현할 때를 어떻게 생각합니까?" 선명도를 위해 수정되었습니다. 감사합니다. – Wang
B-tree는 인덱스 생성과 관련이 있습니다. 개발자는 Oracle 용 T-SQL, 해시 및 b * 트리 클러스터 및 해시 클러스터에 대한 클러스터 화 및 비 클러스터 화 인덱스의 개념을 이해해야합니다. 색인은 이해하는 것이 중요하며이 주제에 대한 장을 포함하는 책을 찾을 것을 권장합니다. –