B-tree インデックス探索コストと階層数シミュレーター 一覧へ
対話型シミュレーター

B-tree インデックス探索コストと階層数シミュレーター

木構造、階層コスト、範囲走査の増え方を並べ、索引設計で何が効くかを確認します。

パラメータ入力
行数 N
rows

テーブルまたは索引対象の行数です。

分岐数 f
-

1ページから参照できる子ノード数です。

ページ読み込み
ms

1ページ読み込みの代表時間です。

選択率
%

条件に一致する行の割合です。

計算結果
B-tree高さ
点検索コスト
一致行数
範囲走査コスト
B-tree階層模式図
点検索コスト
範囲走査コスト
物理モデルと主要式

$$h=\lceil\log_f N\rceil$$

B-treeの高さは行数Nと分岐数fの対数で決まります。点検索は高さが支配的ですが、範囲走査では一致行数とページ局所性も効きます。

読み取り方

木構造図では分岐数が増えるほど高さが下がります。

コスト図ではページ読み込み時間が全体遅延に直結します。

範囲走査図では選択率が上がると葉ページ走査が支配的になります。

会話で学ぶB-tree インデックス探索コストと階層数

🙋
B-tree インデックス探索コストと階層数では、まずどこを見ればいいですか?行数 Nを動かすと図も数値も同時に変わるので、少し迷います。
🎓
最初はB-tree高さを見ます。ただし数字だけで判断せず、B-tree階層模式図で前提の形や状態を確認し、点検索コストで分布や変化の出方を合わせて読みます。木構造図では分岐数が増えるほど高さが下がります。
🙋
行数 Nを大きくするとB-tree高さが変わりそうなのは分かります。では、分岐数 fはどのくらい効いていると考えればいいですか?
🎓
分岐数 fを少しずつ動かして点検索コストの動きを見ると、支配している項が見えてきます。B-treeの高さは行数Nと分岐数fの対数で決まります。点検索は高さが支配的ですが、範囲走査では一致行数とページ局所性も効きます。 1点の計算で終わらせず、実際にばらつきそうな範囲を往復させるのが大事です。
🙋
範囲走査コストは何を見るための図ですか?普通のグラフだけでも判断できそうに見えます。
🎓
範囲走査コストは、危険側に入る境界や、余裕が急に崩れる組み合わせを探すための図です。コスト図ではページ読み込み時間が全体遅延に直結します。 例えばDBインデックス設計の初期見積もりでは、単一点の値より「少し条件がずれたらどうなるか」が効きます。
🙋
では、B-tree高さが基準内なら、この条件をそのまま採用してよいですか?
🎓
ここでは初期検討として扱います。SSD/HDDやキャッシュ条件の影響比較や点検索と範囲検索のボトルネック整理には役立ちますが、最終判断では規格値、実測値、詳細解析、メーカー条件で確認してください。範囲走査図では選択率が上がると葉ページ走査が支配的になります。

実務での使い方

DBインデックス設計の初期見積もり。

SSD/HDDやキャッシュ条件の影響比較。

点検索と範囲検索のボトルネック整理。

よくある質問

B-tree高さと点検索コストを先に見ます。次にB-tree階層模式図で前提の状態を確認し、点検索コストで分布や変化の偏りを読みます。木構造図では分岐数が増えるほど高さが下がります。
行数 Nを単独で動かしたあと、分岐数 fも同じ幅で動かしてB-tree高さの変化量を比べます。範囲走査コストを見ると、どの組み合わせで余裕や性能が急に変わるかを把握できます。
DBインデックス設計の初期見積もりに使います。単一点の数値ではなく、入力範囲を少し広げてB-tree高さの余裕が保てるかを確認すると、詳細解析へ進む前の論点整理に役立ちます。
B-treeの高さは行数Nと分岐数fの対数で決まります。点検索は高さが支配的ですが、範囲走査では一致行数とページ局所性も効きます。最終判断では規格値、実測値、詳細解析、メーカー条件を確認してください。