データベーススペシャリスト暗記無料で始める

入れ子ループ結合とは?いれこループけつごう

入れ子ループ結合とは、外側の表を1行ずつ読み、その1行ごとに内側の表を走査して結合条件に合う行を探す結合方式。作業用の領域をほとんど必要とせず、外側が小さく内側の結合列に索引があるときに最も速い。結合方式の既定として多くのDBMSが備える。

最終更新:2026-10-06

試験情報

データベーススペシャリスト試験の過去問では3問の解説で触れられています(2017年度〜2021年度)。

データベーススペシャリスト試験の頻出用語/午前II

別名:ネステッドループ結合、nested loop join

この語が出る過去問を解く →

背景

結合はSQLの中で最も費用のかかる操作なので、DBMSは入れ子ループ・ソートマージ・ハッシュの3方式から統計情報を見て選ぶ。入れ子ループはメモリを使わず先頭の行を早く返せる代わりに、内側を繰り返し走査する構造上、件数が増えると急激に不利になる。遅い問合せを直す場面では、実行計画にどの方式が出ているかを読み、想定と違うなら統計情報や索引を疑うことになる。

具体例

受注1,000件に対して受注明細を結合するとき、受注明細の受注番号に索引があれば、外側1行ごとに索引を1回引くだけで済む。PostgreSQLのEXPLAINではNested Loop、Oracle DatabaseではNESTED LOOPSと実行計画に表示される。

試験での引っ掛け

内側に索引が無いと総当たりになり、件数の積に比例する計算量(nの2乗オーダー)に落ちる。この状況では、大量件数どうしを一括で突き合わせるハッシュ結合やソートマージ結合のほうが速い。「入れ子ループが常に遅い/速い」ではなく、外側の件数と内側の索引の有無で優劣が入れ替わる点が問われる。

関連用語

出た過去問

解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。

この語が出る過去問を解く →

試験での特徴
  • 3問の解説で触れられる(2017年度〜2021年度)
  • 分野:午前II
  • 内側に索引が無いと総当たりになり、件数の積に比例する計算量(nの2乗オーダー)に落ちる。