17.5.3 結合処理情報
- 〈この項の構成〉
(1) HiRDB/シングルサーバで結合検索をする場合,又はHiRDB/パラレルサーバで結合検索(SELECT-APSLなし)をする場合
JOIN # Join ID :aa...a L Join ID : bb...b ff...f{BB...B} L Table : cc...c(cc...c) dddddddddd(dd...d) ff...f{BB...B} {AA...A} L SubQ ID : ee...e ff...f{BB...B} R Join ID : gg...g kk...k{DD...D} R Table : hh...h(hh...h) iiiiiiiiii(ii...i) kk...k{DD...D} {CC...C} R SubQ ID : jj...j kk...k{DD...D} R SubQEX ID : tt...t kk...k{DD...D} JoinCnd :{EE...E} Join Type :ll...l-CLM mm...m(nn...n) oo...o-CLM pp...p(qq...q) [rr...r] FLT Server :ss...s RowCnd :{FF...F} RowCndAfter :{GG...G} IfThenCndOn :{HH...H} IfThenCnd :{II...I}
[説明]
- aa...a:
-
結合処理IDを表示します。
結合処理単位で番号を付け,結合処理が複数ある場合にはこの行で区切られます。
- bb...b:
-
左側の結合相手がほかの結合結果の場合,結合処理IDを表示します。
結合相手がほかの結合結果でない場合は,この行を表示しません。
- cc...c(cc...c):
-
左側の結合相手が表の場合に,表名(相関名)を表示します。
相関名を使用していない場合は,(相関名)を表示しません。また,表の種類に応じて,次の情報を表示します。
-
WITH句の導出表の場合は問合せ名
-
ビュー表の場合はビュー表名(相関名)
-
FROM句に指定した導出表の場合は"(NO NAME)",又は"(NO NAME)(相関名)"
結合相手が表でない場合は,この行を表示しません。
-
- dddddddddd(dd...d):
-
左側の結合相手が表の場合に,表IDを16進数(10進数)で表示します。
結合相手が表でない場合は,この行を表示しません。
- ee...e:
-
左側の結合相手が副問合せの場合に,副問合せの問合せIDを表示します。
結合相手が副問合せでない場合は,この行を表示しません。
- ff...f{BB...B}:
-
結合をする前に作業表を作成する場合に情報を表示します。作業表を作成しない場合は表示しません。
ソートをしないで作業表を作成する場合は,"LIST"を表示します。ソートをして作業表を作成する場合は,"LIST(SORT)"を表示します。
- gg...g:
-
右側の結合相手がほかの結合結果の場合に,結合処理IDを表示します。
結合相手がほかの結合結果でない場合は,この行を表示しません。
- hh...h(hh...h):
-
右側の結合相手が表の場合に,表名(相関名)を表示します。
相関名を使用していない場合は,(相関名)を表示しません。また,表の種類に応じて,次の情報を表示します。
-
WITH句の導出表の場合は問合せ名
-
ビュー表の場合はビュー表名(相関名)
-
FROM句に指定した導出表の場合は"(NO NAME)",又は"(NO NAME)(相関名)"
結合相手が表でない場合は,この行を表示しません。
-
- iiiiiiiiii(ii...i):
-
右側の結合相手が表の場合に,表IDを16進数(10進数)で表示します。
結合相手が表でない場合は,この行を表示しません。
- jj...j:
-
右側の結合相手が集合演算を含まない副問合せの場合に,副問合せの問合せIDを表示します。結合相手が集合演算を含まない副問合せでない場合,この行を表示しません。
- kk...k{DD...D}:
-
結合をする前に,作業表を作成する場合に情報を表示します。作業表を作成しない場合は表示しません。
ソートをしないで作業表を作成する場合は,"LIST"を表示します。ソートをして作業表を作成する場合は,"LIST(SORT)"を表示します。
- ll...l-CLM mm...m(nn...n):
-
結合方法を表示します。
- ll...l:
-
結合に使用する結合条件の数(列数)を表示します。
- mm...m:
-
結合方法の種類を表示します。結合方法の種類については,「結合方法の種類」を参照してください。
- nn...n:
-
結合処理の実行種別を表示します。
INNER:
内結合をします。探索条件を評価し,真となる場合に結合結果を返します。
LEFT OUTER[(R)]:
左外結合をします。SQLにRIGHT [OUTER] JOINを指定した場合,(R)を表示します(LEFT [OUTER] JOINを指定した場合は表示しません)。このとき,SQL最適化処理が右外結合を等価な左外結合に変換して,左外結合をします。
ON 探索条件に指定した条件を評価し,真となる場合に結合結果を返します。外表の行に対して,内表が1行も真にならない場合は,内表の列にNULL値を埋めて結合結果を返します。
EXIST:
探索条件を評価し,外表の行に対して内表のうち少なくとも1行が真となる場合に,外表の行を返します。
NOT EXIST:
探索条件を評価し,外表の行に対して内表が1行も真とならない場合に,外表の行を返します。
ALL:
探索条件を評価し,外表の行に対して内表のすべての行が真となる場合に,外表の行を返します。
VALUE:
探索条件を評価し,外表の行に対して内表のうち1行だけが真となる場合に,外表の行を返します。2行以上が真となる場合にはエラーとなります。
- oo...o-CLM pp...p(qq...q):
-
結合方法をするサーバへの転送方法を表示します。
- oo...o:
-
転送に使用する列数を表示します。
- pp...p:
-
転送方法の種類を表示します。転送方法の種類については,「転送方法の種類」を参照してください。
- qq...q:
-
転送方向を表示します。
FROM L TO R:
左側を右側に転送して結合します。
FROM R TO L:
右側を左側に転送して結合します。
TO FLT:
左側,右側の両方を,フロータブルサーバに転送して結合します。
- rr...r:
-
結合方式のSQL最適化指定を指定した場合,その指定が有効か無効かを表示します。SQL最適化指定については,マニュアル「HiRDB SQLリファレンス」を参照してください。
- AS SPECIFIED:
-
有効です。
- SPECIFICATION IGNORED:
-
無効です。
- ss...s:
-
HiRDB/パラレルサーバでソート処理に使うフロータブルサーバの要求数を表示します。
検索実行時は,要求数を超えない範囲で,そのときに利用できるすべてのフロータブルサーバを使用します。結合方法が"NESTED LOOPS JOIN"の場合は0となります。HiRDB/シングルサーバの場合は,この行を表示しません。
- tt...t:
-
右側の結合相手が集合演算を含む副問合せの場合に,副問合せの問合せIDを表示します。
結合相手が集合演算を含む副問合せでない場合は,この行を表示しません。
(2) HiRDB/パラレルサーバで結合検索(SELECT-APSLあり)をする場合
JOIN # Join ID :aa...a L Join ID : bb...b ee...e{AA...A} L Table : cc...c(cc...c) dddddddddd(dd...d) ee...e{AA...A} R Join ID : ff...f ii...i{BB...B} R Table : gg...g(gg...g) hhhhhhhhhh(hh...h) ii...i{BB...B} JoinCnd :{CC...C} Join Type :SELECT-APSL Table Name :jj...j(jj...j) kkkkkkkkkk(kk...k) Column ID :llllllllll(ll...l) Predicate :mm...m Threshold :nn...n [1] oo...o-CLM pp...p(qq...q) rr...r-CLM ss...s(tt...t) ........1 FLT Server :uu...u IfThenCnd :{DD...D} [2] oo...o-CLM pp...p(qq...q) rr...r-CLM ss...s(tt...t) ........2 FLT Server :uu...u IfThenCnd :{DD...D}
[説明]
1は結合方法の第一候補,2は結合方法の第二候補を示しています。
- aa...a:
-
結合処理IDを表示します。
結合処理単位で番号を付け,結合処理が複数ある場合にはこの行で区切って情報を表示します。
- bb...b:
-
左側の結合相手がほかの結合結果の場合に,結合処理IDを表示します。
結合相手がほかの結合結果でない場合は,この行を表示しません。
- cc...c(cc...c):
-
左側の結合相手が表の場合に,表名(相関名)を表示します。
相関名を使用していない場合は,(相関名)を表示しません。また,表の種類に応じて,次の情報を表示します。
-
WITH句の導出表の場合は問合せ名
-
ビュー表の場合はビュー表名(相関名)
-
FROM句に指定した導出表の場合は"(NO NAME)",又は"(NO NAME)(相関名)"
結合相手が表でない場合は,この行を表示しません。
-
- dddddddddd(dd...d):
-
左側の結合相手が表の場合に,表IDを16進数(10進数)で表示します。
結合相手が表でない場合は,この行を表示しません。
- ee...e{AA...A}:
-
結合をする前に,作業表を作成する場合に情報を表示します。作業表を作成しない場合は表示しません。
ソートをしないで作業表を作成する場合は,"LIST"を表示します。ソートをして作業表を作成する場合は,"LIST(SORT)"を表示します。
- ff...f:
-
右側の結合相手がほかの結合結果の場合に,結合処理IDを表示します。
結合相手がほかの結合結果でない場合は,この行を表示しません。
- gg...g(gg...g):
-
右側の結合相手が表の場合に,表名(相関名)を表示します。
相関名を使用していない場合は,(相関名)を表示しません。また,表の種類に応じて,次の情報を表示します。
-
WITH句の導出表の場合は問合せ名
-
ビュー表の場合はビュー表名(相関名)
-
FROM句に指定した導出表の場合は"(NO NAME)",又は"(NO NAME)(相関名)"
結合相手が表でない場合は,この行を表示しません。
-
- hhhhhhhhhh(hh...h):
-
右側の結合相手が表の場合に,表IDを16進数(10進数)で表示します。
結合相手が表でない場合は,この行を表示しません。
- ii...i{BB...B}:
-
結合をする前に,作業表を作成する場合に情報を表示します。作業表を作成しない場合は表示しません。
ソートをしないで作業表を作成する場合は,"LIST"を表示します。ソートをして作業表を作成する場合は,"LIST(SORT)"を表示します。
- jj...j(jj...j):
-
SQLオブジェクトを選択するための,SQL実行時ヒット率の算出対象となる述語で使用する列の表名(相関名)を表示します。
- kkkkkkkkkk(kk...k):
-
SQLオブジェクトを選択するための,SQL実行時ヒット率の算出対象となる述語で使用する列の表IDを16進数(10進数)で表示します。
- llllllllll(ll...l):
-
SQLオブジェクトを選択するための,SQL実行時ヒット率の算出対象となる述語で使用する列IDを16進数(10進数)で表示します。
- mm...m:
-
SQLオブジェクトを選択するための,SQL実行時ヒット率の算出対象となる条件の述語を表示します。
- nn...n:
-
SQLオブジェクトを選択するための基準値となるヒット率を表示します。
実行時に算出したヒット率がこの値より小さい場合は,第一候補のSQLオブジェクトを使用します。実行時に算出したヒット率がこの値と等しい又は大きい場合は,第二候補のSQLオブジェクトを使用します。
- oo...o-CLM pp...p(qq...q):
-
結合方法を表示します。
- oo...o:
-
結合に使用する結合条件の数(列数)を表示します。
- pp...p:
-
結合方法の種類を表示します。結合方法の種類については,「結合方法の種類」を参照してください。
- qq...q:
-
結合処理の実行種別を表示します。
INNER:
内結合をします。探索条件を評価し,真となる場合に結合結果を返します。
- rr...r-CLM ss...s(tt...t):
-
結合処理をするサーバへの転送方法を表示します。
- rr...r:
-
転送に使用する列数を表示します。
- ss...s:
-
転送方法の種類を表示します。転送方法の種類については,「転送方法の種類」を参照してください。
- tt...t:
-
転送方向を表示します。
FROM L TO R:
左側を右側に転送して結合します。
FROM R TO L:
右側を左側に転送して結合します。
TO FLT:
左側,右側の両方を,フロータブルサーバに転送して結合します。
- uu...u:
-
HiRDB/パラレルサーバで,ソート処理に使用するフロータブルサーバ要求数を表示します。
検索実行時は,要求数を超えない範囲で,そのときに利用できるすべてのフロータブルサーバを使用します。結合方法が"NESTED LOOPS JOIN"の場合は0となります。HiRDB/シングルサーバの場合,この行を表示しません。