基本情報暗記無料で始める

ハッシュインデックスとは?ハッシュインデックス

ハッシュインデックスとは、検索キーをハッシュ関数に通し、得られた値から格納位置を計算だけで割り出すインデックス。木をたどるB木インデックスと違い、値が一致する行なら件数が増えてもほぼ一定の手間で取り出せる。代わりに計算結果の並びは元の値の大小と無関係になる。

最終更新:2026-10-09

試験情報

基本情報技術者試験の過去問では1回出題されています。

基本情報技術者試験の頻出用語/テクノロジ系

別名:直接編成

この語が出る過去問を解く →

背景

データが数百万件になると、先頭から順に見る線形探索では件数に比例して時間が伸びる。木構造のインデックスでも、たどる階層の回数は件数が増えるにつれて少しずつ(件数が10倍になっても数段ほど)増えていく。「この会員番号の行だけ欲しい」という一致検索に用途を絞れば、位置を計算で当ててしまうほうが速く、件数が増えても手間が変わらない。この割り切りから生まれた方式で、試験ではインデックスの使い分けとして問われる。

具体例

会員番号1234567をハッシュ関数にかけた結果が5番なら、5番のバケット(データを入れる区画)だけを読みに行く。PostgreSQLではインデックスを作るときにこの方式を指定でき、MySQLのMEMORYストレージエンジンでは既定のインデックスがハッシュ方式になっている。

試験での引っ掛け

一致検索は速いが、「1000番以上」のような範囲検索や、値の順に並べ替える処理には使えない。値の並び順が失われるためで、ここがB木インデックスとの最大の違い。別のキーが同じ位置に割り当てられる衝突(シノニム)は必ず起きるので、同じ位置の値を鎖のようにつないで持つ連鎖法や、空いている別の位置を探すオープンアドレス法で逃がす仕組みが前提になる。

関連用語

出た過去問

解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。

この語が出る過去問を解く →

試験での特徴
  • 試験では1回出題
  • 分野:テクノロジ系
  • 一致検索は速いが、「1000番以上」のような範囲検索や、値の順に並べ替える処理には使えない。