B木インデックス
B-tree Index
びーきいんでっくす
キーを整列した状態で保持する平衡木(B木やB+木)で構成した索引で、根から葉までの深さがどのキーでも同じなので、データ量がnのとき探索・挿入・削除をO(log n)で行える。一致検索のほか範囲検索や並び替えにも使えるため、多くのDBMSで標準の索引方式になっている。値の種類が多い(カーディナリティが高い)列に向く。
Related
他の資格での定義
Related
関連キーワードの用語
表の行そのものを、索引のキーの順に物理的に並べて格納する索引。行の並びは1通りしかないので、1つの表に1つしか作れない。キーの範囲を指定した検索や並び替えでは連続したページを読めばよいので速いが、キーの途中への挿入や更新では行の移動が起きやすい。
B木を改良したデータ構造で、データ(またはその所在)は葉にだけ格納し、内部の節は探索のためのキーだけを持つ。葉どうしがポインタで順につながっているため、範囲を指定した検索や順次の読出しが速く、データベースの索引に広く使われる。
1つの節に複数のキーと子へのポインタを持ち、すべての葉が同じ深さになるように保たれる多分木のバランス木。1つの節を補助記憶の1ブロックに対応させるとアクセスの回数を少なくできるため、データベースやファイルシステムの索引に使われる。
表の行を、特定の列の値をもとに速く探し出すために作る補助的なデータ構造。インデックスとも呼び、B木、ハッシュ、ビットマップなどの方式がある。検索や結合は速くなるが、行の追加・更新・削除のたびに索引も更新するので更新処理が遅くなり、記憶領域も要るため、検索条件や結合条件によく使われ絞込みの効く列に絞って設定し、索引の数を増やしすぎないようにする。
問合せで必要な列をすべて含んでいる索引。検索条件の列だけでなく、選択リストや並び替えに使う列も索引に持たせることで、表本体を読まずに索引だけで結果を返せる(インデックスオンリースキャン)。表へのアクセスが省けて入出力が減るが、索引が大きくなり更新の負荷が増える。
キーの値が重複しないことを保証する索引。重複する値の行を追加・更新しようとするとエラーになる。主キー制約や一意性制約を定義すると、多くのDBMSは一意性の検査のためにユニークインデックスを自動で作成する。
