ホーム > データベーススペシャリスト試験 > 2023年
データベーススペシャリスト試験 2023年 午前2 問04
木インデックスが定義されている候補キーを利用して、1件のデータを検索するとき、データ総件数Xに対するB+木インデックスを格納するノードへのアクセス回数のオーダーはどれか。
ア:
イ:(正解)
ウ:
エ:
解説
B+木インデックスの検索アクセス回数のオーダー【午前2 解説】
要点まとめ
- 結論:B+木インデックスを使った1件検索のアクセス回数はデータ件数に対してのオーダーです。
- 根拠:B+木は平衡木の一種であり、木の高さがに比例するため、検索時のノードアクセス回数もとなります。
- 差がつくポイント:B+木の構造理解と、単純な線形探索や階乗オーダーとの違いを明確に把握することが重要です。
正解の理由
B+木はデータベースやファイルシステムで広く使われる平衡木構造で、すべてのデータが葉ノードに格納されます。内部ノードは索引情報のみを持ち、木の高さはデータ件数に対してのオーダーで増加します。したがって、1件のデータを検索する際にアクセスするノード数は木の高さに相当し、回のアクセスで済みます。これが選択肢イの理由です。
よくある誤解
B+木の検索時間をデータ件数に比例すると誤解し、線形探索のや平方根と混同しやすいです。階乗は全く現実的でないオーダーです。
解法ステップ
- B+木の構造を理解する(平衡木であること、葉ノードにデータがあること)。
- 木の高さがデータ件数に対してどのように変化するかを考える。
- 木の高さはに比例するため、検索時のノードアクセス回数もとなる。
- 選択肢の中からを選ぶ。
選択肢別の誤答解説
- ア:
→ B+木の高さは平方根オーダーではなく、平衡木の特性からです。 - イ:
→ 正解。B+木の高さに比例し、効率的な検索が可能です。 - ウ:
→ 線形探索のオーダーであり、B+木の高速検索の特徴を無視しています。 - エ:
→ 階乗は計算量として非現実的であり、木構造の検索とは無関係です。
補足コラム
B+木はデータベースのインデックス構造として非常に重要です。ノードの分岐数(ファンアウト)が大きいため、木の高さはさらに低く抑えられ、ディスクI/O回数の削減に寄与します。これにより大規模データの高速検索が可能となります。
FAQ
Q: なぜB+木はの高さになるのですか?
A: B+木は平衡木であり、各ノードが複数の子を持つため、データ件数に対して木の高さはに比例します。
A: B+木は平衡木であり、各ノードが複数の子を持つため、データ件数に対して木の高さはに比例します。
Q: B+木とB木の違いは何ですか?
A: B+木はすべてのデータが葉ノードにあり、内部ノードは索引のみを持つ点がB木と異なります。これにより範囲検索が効率的になります。
A: B+木はすべてのデータが葉ノードにあり、内部ノードは索引のみを持つ点がB木と異なります。これにより範囲検索が効率的になります。
関連キーワード: B+木, インデックス検索, 平衡木, 検索オーダー, データベースインデックス