データベース用語集一覧に戻る
ホーム > データベーススペシャリスト > 用語集 > 結合アルゴリズム(Nested Loops法・Sort-Merge法・Hash法)
物理設計・インデックス・障害回復 重要度:★★★出題: AM2・PM1・PM2

結合アルゴリズム(Nested Loops法・Sort-Merge法・Hash法)

けつごうあるごりずむ / Join Algorithms (Nested Loops, Sort-Merge, Hash Join)
RDBMSのクエリ(SQL)オプティマイザが複数テーブルを結合する際の代表的な3つの物理実行方式(入れ子ループ法、ソートマージ法、ハッシュ法)。

3行速習ポイント

  • Nested Loops(入れ子ループ)法:外部表(駆動表)の各行について内部表を探索する。外部表が小さく内部表の結合列に索引がある場合に最も高速
  • Sort-Merge(ソートマージ)法:両方の表を結合列でソートしてから先頭から順に突き合わせる。既にソート済みの索引がある場合や不等号結合にも有効
  • Hash(ハッシュ)法:小さい方の表(ビルド表)からメモリ上にハッシュ表を作成し、大きい方の表(プローブ表)を走査して等値結合する。索引がない大量データ同士の等値結合で高速

図解

図3大結合アルゴリズムの特性比較
OLTP向け
Nested Loops法
少量の駆動表×内部表の結合列索引があるオンライン検索に最適
ソート突合
Sort-Merge法
双方を結合キーでソートして突合せ。範囲結合やソート済索引に有効
バッチ・DWH
Hash結合法
小表からメモリ上にハッシュ表を構築。索引なし大量データの等値結合に最適

概要と本質

午前IIの物理データベース問題および午後I・午後IIのSQL性能チューニング問題で頻出のトピックです。オプティマイザが統計情報に基づいて最適な結合方式を選択しますが、索引の有無やデータ件数・メモリ量に応じた各アルゴリズムのI/O特性を理解しておく必要があります。

重要ポイント・コア概念

  • Nested Loops法では「絞り込み後の行数が少ない表」を外部表(駆動表 / Driving Table)に選び、内部表の結合キーにB+木索引を定義するのが鉄則
  • Hash結合は等値結合(=)にのみ適用可能であり、ハッシュ表がワークメモリ(PGA/work_mem)に収まらない場合は一時ディスク書き出しが発生して性能が低下する
  • 統計情報が古いとオプティマイザが行数を誤認し、大量行の結合に誤ってNested Loops法を選択して極端な性能劣化を招くことがある

午後I・午後II記述試験での攻略ポイント

午前IIでは「内部表の結合列にインデックスがない大量データの等値結合に適した方式はどれか(→ハッシュ結合)」「駆動表の行数が少なく内部表の結合列にユニーク索引がある場合に適した方式はどれか(→入れ子ループ法)」といった特徴比較が頻出です。

午後記述で使える加点キーワード(クリックでコピー)

この用語が出題された過去問を解く(1分演習)

即時アウトプットで定着
データベーススペシャリスト 過去問演習で実践力を鍛える

理解を深める推薦副読本

この用語の背景理論・実務動向を深く理解し、午後II小論文の説得力を劇的に高める必読書

PR
ソフトウェアアーキテクチャの基礎 エンジニアリングに基づく体系的アプローチ
戦略・名著セレクションソフトウェアアーキテクチャの基礎 エンジニアリングに基づく体系的アプローチマーク・リチャーズ, ニール・フォード 著 / オライリー・ジャパン
ISBN: 4873119820
🏗️ EA・SoR/SoE・モダナイゼーションの名著

ソフトウェアアーキテクチャの基礎 エンジニアリングに基づく体系的アプローチ

マーク・リチャーズ, ニール・フォード 著 / オライリー・ジャパン

アーキテクチャ特性(非機能要件)の定義と優先度付けモジュラリティ、マイクロサービス、イベント駆動設計のトレードオフレガシーシステムの段階的刷新(モダナイゼーション)設計
なぜこの用語の理解に役立つのか

『結合アルゴリズム(Nested Loops法・Sort-Merge法・Hash法)』の背景にある理論と業界動向を体系的に理解し、実務や小論文に直結する戦略的視点を深掘りできます。

午後II小論文(ST論文)への応用・加点ポイント

エンタープライズアーキテクチャ(EA)やSoR/SoE連携、クラウド移行のアーキテクチャ方針を決定した根拠(トレードオフ判断)を論述する際の強力な武器になります。

※価格・在庫状況は各ECモールの最新情報をご確認ください(もしもアフィリエイト経由)