DB2® で照会処理を行うとき、DB2 オプティマイザーが、要求データにアクセスするためのいくつかの代替プランを生成します。オプティマイザーは各プランの実行コストを見積もり、最も低コストのプランを実行します。 このプランをアクセス・プランと呼びます。
アクセス・プラン・グラフは、ノードと各ノードを接続するりょう線から成ります。ノードは、データ・ソース、演算子、SQL ステートメント、および照会ブロックを表します。ノードの親ノードは 1 つのみですが、下位ノードは無制限に持つことができます。 りょう線に付いている矢印は、流れの方向を示します。 表ノードは通常、グラフの下部に表示され、アクセス・プランはそこから上方へ進行します。
ネスト・ループ結合や索引スキャンなど、アクセス・プランでの操作の中にはノードのグループとしてグラフに表されるものがあり、これを構成と呼びます。 これらの構成の多くには、操作を表す定義ノードがあります。 例えば HBJOIN ノードはハイブリッド結合操作が行われることを表し、 ハイブリッド結合全体はノードのグループとしてグラフに表されます。 このノードのグループは、 ハイブリッド結合に関係する他のすべてのデータ・ソースと操作を表します。
SQL ステートメントが複数の副照会で構成されることがあります。これらの副照会は、アクセス・プラン図では、照会ブロックで表されます。副照会は、SELECT、INSERT、UPDATE、または DELETE ステートメントになります。副照会は、FROM 文節、WHERE 文節、あるいは UNION 文節または UNION ALL 文節の副選択に、別の副照会を含むことができます。副照会に含まれる別の副照会を子副照会と呼びます。 別の副照会を含む副照会を親副照会と呼びます。 このような親と子の関係をツリー階層で表すことができます。
副照会が、その親副照会、 またはツリー階層で上位にあるいずれかの親副照会の、少なくとも 1 つの列を参照する場合、 その副照会は相関副照会になります。 そうでない場合の副照会は非相関副照会になります。 非相関副照会は、非相関の最上位の親副照会と同時に実行することができます。この最上位の親副照会を、非相関副照会との関係において「オープン時実行親副照会」と呼びます。 相関副照会が実行されるには、必ずその親副照会が実行されなければなりません。 親と子の相対実行の間のそのような関係は、アクセス・プラン・グラフ内の別個のツリー階層で表すことができます。