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

概要

ハッシュインデックスとは、検索対象となるデータハッシュ関数と呼ばれる計算式に通し、得られた固定長の数値を用いてデータの格納場所を素早く特定する索引手法。データベースのインデックス構造としてよく用いられる。
ハッシュインデックスのイメージ画像

データベースにおけるインデックスは、目的のレコードを効率よく見つけるための補助構造である。ハッシュインデックスでは、検索対象となる列の値(キー)に対してハッシュ関数を計算し、その結果として得られるハッシュ値をもとにデータの格納先や参照先を特定する。

ハッシュ値はどんな長さのデータからでも算出できる固定長の短いデータで、計算結果は一定の範囲に分散されるよう設計されている。同じキーであれば常に同じ値が得られる性質があり、特定の値と完全に一致するレコードを高速に特定できる。

一方、ハッシュインデックスは値の大小関係を保持しないため、昇順降順の並び替え、「100から200の範囲を検索する」といった範囲検索、「名前が『あ』で始まる」といった前方一致検索など、値の前後や大小を考慮した処理には適していない。値の大小関係を織り込んだ構造の「B木インデックス」と用途に応じて使い分けられることが多い。

資格試験などの「ハッシュインデックス」の出題履歴

▼ 基本情報技術者試験
令3修7 問26】 “売上” 表への次の検索処理のうち,B + 木インデックスよりもハッシュインデックスを設定した方が適切なものはどれか。
令1修7 問28】 “売上” 表への次の検索処理のうち,B + 木インデックスよりもハッシュインデックスを設定した方が適切なものはどれか。
平27秋 問26】 インデックス方式のうち,キー値を基にして格納位置を算出するとき,異なったキー値でも同一の算出結果となる可能性があるものはどれか。
平26秋 問27】 “売上” 表への次の検索処理のうち,B + 木インデックスよりもハッシュインデックスを設定した方が適切なものはどれか。
この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。