ジョイン系アクセスモデルには以下のものがあります。
ジョインキーを昇順に読み込む方法として、インデックスを利用するマージジョインのアクセスモデルです。

(1)(3)WHERE探索条件によりインデックス検索範囲を作成し、INDEX KEY SCANを行う。
(インデックスに検索範囲が生成できない場合は、INDEX ALL SCANを行う)
(2)(4)インデックスキー(ジョインキー)の昇順にレコードを取得する。
(5)ソートマージ法でジョインを行い、結合したデータをアプリケーションに返却する。
[アクセスプランの出力例]
===============================================================================
Main query
=sno===sectname=====input1==============input2==============output/update======
1 : M-JOIN [TBL1_IX1_DSO ][ ][ ]
[TBL2_IX1_DSO ][ ][APPL ]
-------------------------------------------------------------------------------
[ 1] MERGE JOIN ELEMENT
1) table name SCM1.TBL1
scan type INDEX KEY SCAN(1)
dso name TBL1_IX1_DSO [PAGE/SH]
join key column 1
condition evaluation No
scan record number 100
2) table name SCM1.TBL2
scan type INDEX KEY SCAN(1)
dso name TBL2_IX1_DSO [PAGE/SH]
join key column 1
condition evaluation No
scan record number 200
[ 2] OUTPUT ELEMENT
record length 222) マージジョイン(インデックスを利用してジョインをして表データも取得する)
ジョインキーを昇順に読み込む方法として、インデックスを利用します。インデックスだけでは必要な列のすべてを獲得できない表に対して、ジョイン後に各表からデータを取り出すアクセスモデルです。

(1)(3)WHERE探索条件よりインデックス検索範囲を作成し、INDEX KEY SCANを行う。
(インデックスに検索範囲が生成できない場合は、INDEX ALL SCANを行う)
(2)(4)インデックスキー(ジョインキー)の昇順にレコードを取得する。
(5)ソートマージ法でジョインを行う。
(6)TBL1のTIDでソートを行う。
(7)ソートからレコードを取り出し、表をTABLE KEY SCANする。
(8)TBL2のTIDでソートを行う。
(9) ソートからレコードを取り出し、表をTABLE KEY SCANして、結果データをアプリケーションに返却する。
[アクセスプランの出力例]
===============================================================================
Main query
=sno===sectname=====input1==============input2==============output/update======
1 : M-JOIN [TBL1_IX1_DSO ][ ][ ]
[TBL2_IX1_DSO ][ ][SORT0001 ]
-------------------------------------------------------------------------------
[ 1] MERGE JOIN ELEMENT
1) table name SCM1.TBL1
scan type INDEX KEY SCAN(1)
dso name TBL1_IX1_DSO [PAGE/SH]
join key column 2
condition evaluation No
scan record number 100
2) table name SCM1.TBL2
scan type INDEX KEY SCAN(1)
dso name TBL2_IX1_DSO [PAGE/SH]
join key column 2
condition evaluation No
scan record number 200
[ 2] INSERT ELEMENT
table name SORT0001
insert record length 24
-------------------------------------------------------------------------------
2 : SCAN [SORT0001 ][TBL1_BASE_DSO ][SORT0002 ]
-------------------------------------------------------------------------------
[ 1] SCAN ELEMENT
table name SORT0001
scan type TABLE ALL SCAN
condition evaluation No
[ 2] SCAN ELEMENT
table name SCM1.TBL1
scan type TABLE KEY SCAN
dso name TBL1_BASE_DSO [PAGE/SH]
condition evaluation Yes
scan record number 1
[ 3] INSERT ELEMENT
table name SORT0002
insert record length 88
-------------------------------------------------------------------------------
3 : SCAN [SORT0002 ][TBL2_BASE_DSO ][APPL ]
-------------------------------------------------------------------------------
[ 1] SCAN ELEMENT
table name SORT0002
scan type TABLE ALL SCAN
condition evaluation No
[ 2] SCAN ELEMENT
table name SCM1.TBL2
scan type TABLE KEY SCAN
dso name TBL2_BASE_DSO [PAGE/SH]
condition evaluation No
scan record number 1
[ 3] OUTPUT ELEMENT
record length 1823) マージジョイン(ソートテーブルを利用してジョインする)
ジョインするいくつかの表を制約アクセスモデルを利用して結果を求めておき、その結果をジョインキーでソートしてからマージジョインを行うアクセスモデルです。

(1) 制約アクセスモデルを利用して得られたレコードをソートテーブルにINSERTする。
(2) 検索範囲を生成できないのでINDEX ALL SCANを行う。
(3)(4)ソートテーブルとインデックスからジョインキーの昇順にレコードを取り出す。
(5) ソートマージ法でジョインを行う。
(6) TBL2のTIDでソートを行う。
(7) ソートからレコードを取り出し、表をTABLE KEY SCANして、結果データをアプリケーションに返却する。
[アクセスプランの出力例]
===============================================================================
Main query
=sno===sectname=====input1==============input2==============output/update======
1 : SCAN [TBL1_IX1_DSO ][ ][SORT0002 ]
-------------------------------------------------------------------------------
[ 1] SCAN ELEMENT
table name SCM1.TBL1
scan type INDEX KEY SCAN(1)
dso name TBL1_IX1_DSO [PAGE/SH]
condition evaluation No
scan record number 100
[ 2] INSERT ELEMENT
table name SORT0002
insert record length 12
-------------------------------------------------------------------------------
2 : SCAN [SORT0002 ][TBL1_BASE_DSO ][SORT0001 ]
-------------------------------------------------------------------------------
[ 1] SCAN ELEMENT
table name SORT0002
scan type TABLE ALL SCAN
condition evaluation No
[ 2] SCAN ELEMENT
table name SCM1.TBL1
scan type TABLE KEY SCAN
dso name TBL1_BASE_DSO [PAGE/SH]
condition evaluation No
scan record number 1
[ 3] INSERT ELEMENT
table name SORT0001
insert record length 88
-------------------------------------------------------------------------------
3 : M-JOIN [SORT0001 ][ ][ ]
[TBL2_IX1_DSO ][ ][SORT0003 ]
-------------------------------------------------------------------------------
[ 1] MERGE JOIN ELEMENT
1) table name SORT0001
scan type TABLE ALL SCAN
join key column 1
condition evaluation No
2) table name SCM1.TBL2
scan type INDEX ALL SCAN
dso name TBL2_IX1_DSO [DSI/SH]
join key column 1
condition evaluation No
scan record number 1000
[ 2] INSERT ELEMENT
table name SORT0003
insert record length 100
-------------------------------------------------------------------------------
4 : SCAN [SORT0003 ][TBL2_BASE_DSO ][APPL ]
-------------------------------------------------------------------------------
[ 1] SCAN ELEMENT
table name SORT0003
scan type TABLE ALL SCAN
condition evaluation No
[ 2] SCAN ELEMENT
table name SCM1.TBL2
scan type TABLE KEY SCAN
dso name TBL2_BASE_DSO [PAGE/SH]
condition evaluation No
scan record number 1
[ 3] OUTPUT ELEMENT
record length 1824) フェッチジョイン(インデックスを利用してジョインする)
制約アクセスモデルにより読み込んだデータを元に、結合する表のインデックスをキー値検索してジョインを行うアクセスモデルです。

(1) 制約アクセスモデルを利用して得られたレコードを取り出す。
(2) インデックスの検索範囲を作成し、INDEX TABLE SCANを行う。
(3) 結果データをアプリケーションに返却する。
[アクセスプランの出力例]
===============================================================================
Main query
=sno===sectname=====input1==============input2==============output/update======
1 : SCAN [TBL1_IX1_DSO ][ ][SORT0001 ]
-------------------------------------------------------------------------------
[ 1] SCAN ELEMENT
table name SCM1.TBL1
scan type INDEX KEY SCAN(1)
dso name TBL1_IX1_DSO [PAGE/SH]
condition evaluation No
scan record number 5
[ 2] INSERT ELEMENT
table name SORT0001
insert record length 12
-------------------------------------------------------------------------------
2 : SCAN [SORT0001 ][ ][ ]
F-JOIN [TBL1_BASE_DSO ][ ][ ]
[TBL2_IX1_DSO ][TBL2_BASE_DSO ][APPL ]
-------------------------------------------------------------------------------
[ 1] SCAN ELEMENT
table name SORT0001
scan type TABLE ALL SCAN
condition evaluation No
[ 2] FETCH JOIN ELEMENT
1) table name SCM1.TBL1
scan type TABLE KEY SCAN
dso name TBL1_BASE_DSO [PAGE/SH]
condition evaluation No
scan record number 1
2) table name SCM1.TBL2
scan type INDEX TABLE SCAN(1)
dso name TBL2_IX1_DSO [PAGE/SH]
TBL2_BASE_DSO [PAGE/SH]
condition evaluation No
scan record number 3
[ 3] OUTPUT ELEMENT
record length 1825) フェッチジョイン(クラスタキーを利用してジョインする)
制約アクセスモデルにより読み込んだデータを元に、結合する表をクラスタキーで検索してジョインを行うアクセスモデルです。

(1) 制約アクセスモデルを利用して得られたレコードを取り出す。
(2) クラスタキー値を作成し、TBL2に対してTABLE KEY SCANを行う。
(3) 結果データをアプリケーションに返却する。
[アクセスプランの出力例]
===============================================================================
Main query
=sno===sectname=====input1==============input2==============output/update======
1 : F-JOIN [TBL1_IX1_DSO ][TBL1_BASE_DSO ][ ]
[TBL2_BASE_DSO ][ ][APPL ]
-------------------------------------------------------------------------------
[ 1] FETCH JOIN ELEMENT
1) table name SCM1.TBL1
scan type INDEX TABLE SCAN(1)
dso name TBL1_IX1_DSO [PAGE/SH]
TBL1_BASE_DSO [PAGE/SH]
condition evaluation No
scan record number 1
2) table name SCM1.TBL2
scan type TABLE KEY SCAN
dso name TBL2_BASE_DSO [PAGE/SH]
condition evaluation No
scan record number 1
[ 2] OUTPUT ELEMENT
record length 182制約アクセスモデルにより読み込んだデータごとに、結合する表を直接読み込みながらジョインを行うアクセスモデルです。
注意
本アクセスモデルは、ASSIST指定のLEADING_TABLEと、FETCHを指定したJOIN_RULEを同時に指定し、結合される側の表のインデックスやクラスタキーが使えない場合に有効になります。

(1) 制約アクセスモデルを利用して得られたレコードを取り出す。
(2) TBL2についてTABLE ALL SCANを行う。
(3) 結果データをアプリケーションに返却する。
[アクセスプランの出力例]
===============================================================================
Main query
=sno===sectname=====input1==============input2==============output/update======
1 : SCAN [TBL1_IX1_DSO ][ ][SORT0001 ]
-------------------------------------------------------------------------------
[ 1] SCAN ELEMENT
table name SCM1.TBL1
scan type INDEX KEY SCAN(1)
dso name TBL1_IX1_DSO [PAGE/SH]
condition evaluation No
scan record number 5
[ 2] INSERT ELEMENT
table name SORT0001
insert record length 12
-------------------------------------------------------------------------------
2 : SCAN [SORT0001 ][ ][ ]
F-JOIN [TBL1_BASE_DSO ][ ][ ]
[TBL2_BASE_DSO ][ ][APPL ]
-------------------------------------------------------------------------------
[ 1] SCAN ELEMENT
table name SORT0001
scan type TABLE ALL SCAN
condition evaluation No
[ 2] FETCH JOIN ELEMENT
1) table name SCM1.TBL1
scan type TABLE ALL SCAN
dso name TBL1_BASE_DSO [DSI/SH]
condition evaluation Yes
scan record number 1
2) table name SCM1.TBL2
scan type TABLE ALL SCAN
dso name TBL2_BASE_DSO [DSI/SH]
condition evaluation Yes
scan record number 1
[ 2] OUTPUT ELEMENT
record length 1827) ネスティドループジョイン(実表を直接読み込んでジョインする)
データベースの表を直接読み込みながら、レコードの組合わせを作成するアクセスモデルです。

(1) TBL1についてTABLE ALL SCANを行う。
(2) (1)のレコードごとに、TBL2についてTABLE ALL SCANを行う。
(3) 結果データをアプリケーションに返却する。
[アクセスプランの出力例]
===============================================================================
Main query
=sno===sectname=====input1==============input2==============output/update======
1 : N-JOIN [TBL1_BASE_DSO ][ ][ ]
[TBL2_BASE_DSO ][ ][APPL ]
-------------------------------------------------------------------------------
[ 1] NESTED LOOP JOIN ELEMENT
1) table name SCM1.TBL1
scan type TABLE ALL SCAN
dso name TBL1_BASE_DSO [DSI/SH]
condition evaluation Yes
scan record number 1
2) table name SCM1.TBL2
scan type TABLE ALL SCAN
dso name TBL2_BASE_DSO [DSI/SH]
condition evaluation Yes
scan record number 1
[ 2] OUTPUT ELEMENT
record length 1828) ネスティドループジョイン(ワークテーブルを利用してジョインする)
制約アクセスモデルまたはジョイン系アクセスモデルの結果データをワークテーブルに格納し、そのワークテーブルを読み込みながらレコードの組合わせを作成するアクセスモデルです。
参考
以下の例では、ジョインする表が1)WORK0001、2)SCM1.TBL2と並んでいますが、1)SCM1.TBL2、2)WORK0001のように、ジョインする表の順序が入れ替わることもあります。

(1) 制約アクセスモデルを利用して得られたレコードをワークテーブルにINSERTする。
(2) ワークテーブルからレコードを取り出しながらレコードごとにTBL2をTABLE ALL SCANする。
(3) 結果データをアプリケーションに返却する。
[アクセスプランの出力例]
===============================================================================
Main query
=sno===sectname=====input1==============input2==============output/update======
1 : SCAN [TBL1_IX1_DSO ][TBL1_BASE_DSO ][WORK0001 ]
-------------------------------------------------------------------------------
[ 1] SCAN ELEMENT
table name SCM1.TBL1
scan type INDEX TABLE SCAN(1)
dso name TBL1_IX1_DSO [PAGE/SH]
TBL1_BASE_DSO [PAGE/SH]
condition evaluation No
scan record number 1
[ 2] INSERT ELEMENT
table name WORK0001
insert record length 4
-------------------------------------------------------------------------------
2 : N-JOIN [WORK0001 ][ ][ ]
[TBL2_BASE_DSO ][ ][APPL ]
-------------------------------------------------------------------------------
[ 1] NESTED LOOP JOIN ELEMENT
1) table name WORK0001
scan type TABLE ALL SCAN
condition evaluation No
2) table name SCM1.TBL2
scan type TABLE ALL SCAN
dso name TBL2_BASE_DSO [DSI/SH]
condition evaluation Yes
scan record number 50
[ 2] OUTPUT ELEMENT
record length 4参考
ワークテーブルだけを利用してネスティドループジョインを行うアクセスモデルもあります。
この場合は、上記例におけるTBL2を制約アクセスモデルを利用してワークテーブルに格納して、ワークテーブルを読み込みながらネスティドループジョインすると考えてください。