愛知県名古屋市の大学向けシステムパッケージ販売、開発、導入をしている、IT企業で働く社員たちのお話です。 今回は、最もポピュラーであり、ほとんどのリレーショナルデータベースで使用することができるB-Treeインデックスを掘り下げてみます。 ※ORACLE,MySql等でデフォルトのインデックス。 ※B-Treeとは「バランスツリー」のことで検索アルゴリズムの一つとしても有名です。 図で簡単に表現すると、下記のようになります。 (カメルーンを検索する場合) 最上位のヘッダブロックから検索していき、 最下位のリーフブロックにて実表の物理位置(ROWID)をゲットします。 この階層が浅ければ浅いほど検索の速度があがりますが、 B-Treeの特徴としてデータ量が10倍、20倍になっても、 階層の深さはさほど変わりません。 そのため、データ量に関わらず一定の速度を保つことが可能になります。 その他、