ハッシュインデックス【hash index】
概要

データベースにおけるインデックスは、目的のレコードを効率よく見つけるための補助構造である。ハッシュインデックスでは、検索対象となる列の値(キー)に対してハッシュ関数を計算し、その結果として得られるハッシュ値をもとにデータの格納先や参照先を特定する。
ハッシュ値はどんな長さのデータからでも算出できる固定長の短いデータで、計算結果は一定の範囲に分散されるよう設計されている。同じキーであれば常に同じ値が得られる性質があり、特定の値と完全に一致するレコードを高速に特定できる。
一方、ハッシュインデックスは値の大小関係を保持しないため、昇順や降順の並び替え、「100から200の範囲を検索する」といった範囲検索、「名前が『あ』で始まる」といった前方一致検索など、値の前後や大小を考慮した処理には適していない。値の大小関係を織り込んだ構造の「B木インデックス」と用途に応じて使い分けられることが多い。