はじめに
データベースを扱う仕事をしていると,
そのようなケースに対応するため,
インデックスにはいろいろな種類があり,
そのため本稿では,
- 読者対象
- 実務でインデックスを使ったことのある人,
または使いたいと考えている人 - DBのパフォーマンス問題を抱えている人
- 実務でインデックスを使ったことのある人,
- 稼働環境
- すべてのリレーショナルデータベース
B-tree
概要
特に一般的で重要な索引の種類は,
B木 (B-tree) である。すべてのアプリケーションに最適な単一の記憶構造というものが存在しないことは事実であるが, もし一つの構造が選ばれなければならないとすれば, B木の類が恐らく選択されていることはまず疑いようがない。
Christopher J. Date
インデックスというのは,
B-treeは,
しかし誤解のないように言っておくと,
長所
B-treeの長所は平均点の高さです。Dateの言葉を借りるなら,
- ❶均一性
(4点):各キー値の間で検索速度にバラツキが少ない - ❷持続性
(4点):データ量の増加に比してパフォーマンス低下が少ない - ❸処理汎用性
(4点):検索/ 挿入/ 更新/ 削除のいずれの処理もそこそこ速い - ❹非等値性
(4点):等号 (=) に限らず, 不等号 (<, >, <=, >=) を使ってもそこそこ速い - ❺親ソート性
(4点):GROUP BY, ORDER BY, COUNT/ MAX/ MINなどソートが必要な処理を高速化できる
B-treeがバランスよく高得点を取れる理由は,
最下層のリーフ
COLUMN 3つの「B」
ちょっとトリビアな話ですが,
ただし,