マージ結合
ソート済みのリレーション同士を結合するアルゴリズム。両方を同時に(ジッパーのように)走査し、一致する行を出力する。追加のソートなしで O(N+M)。
両入力が結合キーでソートされているとき、典型的には対応する B-tree インデックスがあるときに最適となる。入力が未ソートなら、プランナーは「ソートマージ結合」を選ぶことがあり、先にソートするため O(N log N) かかる。
競合相手はハッシュ結合で、メモリが足りるならそちらが速い。マージ結合が優位なのはメモリに収まらない場合と、出力のソート順が保たれる点で、後続の ORDER BY を省けることがある。典型的な用途は、同じソート済みキーで何度も結合するデータウェアハウスのクエリ。PostgreSQL のプランナーは既定でハッシュ結合を好むので、マージ結合が活きるのは、大きなソート済みデータや低カーディナリティの結合に限られる。