ソートマージ結合 【sort-merge join】 マージ結合
概要
ソートマージ結合(sort-merge join)とは、リレーショナルデータベース(RDB)でテーブルの結合(JOIN)処理を行うアルゴリズムの一つで、比較対象の列の値で両テーブルの行をソート(並べ替え)し、先頭から順に結合する方式。RDBでは同じ意味の列を持つテーブル同士をSQLのJOIN句などを用いて結合し、一つのテーブルにまとめる処理がよく行われる。ソートマージ結合は結合処理を行う手順の一つである。
まず両テーブルとも比較対象に指定された列の値を用いて同じ順序(昇順あるいは降順)に並べ替える。それぞれの表を先頭から順に比較していき、結合条件(一致、以上、未満など)に合う行同士を結合していく。
比較に先立ってソート処理が必要なため、結合条件が等価条件(一致)の場合はより高速なハッシュ結合が選ばれることが多く、ソートマージ結合はあまり使われない。ハッシュ結合が苦手とする等価条件以外の結合条件が指定された場合に用いられることが多い。
(2021.12.8更新)