ハッシュ結合 【hash join】

概要

ハッシュ結合(hash join)とは、リレーショナルデータベース(RDB)でテーブルの結合(JOIN)処理を行うアルゴリズムの一つで、一方のテーブルの比較対象の列の値からハッシュテーブルを作り、もう一方のテーブルの列の値で探索する手法。

RDBでは同じ意味の列を持つテーブル同士をSQLのJOIN句などを用いて結合し、一つのテーブルにまとめる処理がよく行われる。ハッシュ結合は結合処理を行う手順の一つである。

まず片方のテーブルの比較対象に指定された列の値からハッシュ値を求め、ハッシュ値から対応する行を引き出すことができるハッシュテーブルを作成する。次に、もう一方のテーブルを先頭から順に走査し、比較対象列の値から同じようにハッシュ値を算出し、ハッシュテーブルを参照して対応する行があれば結合する。

比較に先立ってソート処理などが不要なため、結合条件が等価条件(一致)の場合は高速に結合することができる。等価条件以外の結合条件(以上、未満など)が指定されるとハッシュ結合は使用できないため、ソートマージ結合など他の方式が用いられる。

(2021.12.8更新)
この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。