読み方 : ソートマージけつごう

ソートマージ結合【sort-merge join】マージ結合

概要

ソートマージ結合とはリレーショナルデータベース(RDB)でテーブルの結合(JOIN)処理を行うアルゴリズムの一つで、結合条件に用いる列の値で両テーブルの行を同じ順序に並べ替えた上で、先頭から順に照合・結合していく方式。
ソートマージ結合のイメージ画像

リレーショナルデータベースでは、共通の意味を持つ列を介して複数のテーブルをSQLのJOIN句で結合し、一つの結果セットにまとめる操作が頻繁に行われる。ソートマージ結合はその実行手順の一つであり、データベース管理システムDBMS)がクエリの実行計画を立てる際に選択する結合アルゴリズムの一つでもある。

まず、両テーブルをそれぞれ結合キーとなる列の値で昇順または降順ソート(並べ替え)する。対象列にインデックスが存在する場合はこのソート処理を省略できるため、より高速に次の段階へ進める。その後、整列済みの両テーブルを先頭から順に走査し、結合条件を満たす行同士を結合していく。両テーブルとも同じ順序に整列されているため、一方のポインタを戻す必要がなく、各行を原則として一度ずつ走査するだけで結合を完了できる。

ソートマージ結合は、等価条件(一致)だけでなく、大小比較を伴う範囲条件(以上・未満・上限と下限の範囲内など)の結合にも対応できる。また、処理対象のデータ量メモリ容量を超える場合でも、一時的にストレージデータを退避させながらソートを行うことで安定して処理を完遂できる。

一方、結合条件が等価条件のみの場合は、事前のソートが不要な「ハッシュ結合」のほうが一般に高速なため、多くのDBMSはそちらを優先的に選択する。ソートマージ結合が採用されやすいのは、ハッシュ結合では対応できない範囲条件による結合の場合や、結合キーの列が既にソート済みである場合、あるいはメモリが不足する大規模なデータ処理においてハッシュ結合よりも安定した性能が求められる場合などである。

(2026.6.21更新)
 

資格試験などの「ソートマージ結合」の出題履歴

▼ 基本情報技術者試験
令2修12/平29春】 RDBMSが二つの表を結合する方法のうち,ソートマージ結合法に関する記述はどれか。
この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。