スケーラブルデータベースサーバ HiRDB Version 8 コマンドリファレンス(Windows(R)用)

[目次][索引][前へ][次へ]

17.5.2 集合演算処理情報

 
 ----- QUERY EXPRESSION BODY ID : aa...a -----
 Query Exp Type : bb...b cc...c(cc...c)  dd...d{AA...A}
 Sub Query Type : ee...e{BB...B} [ff...f]
 Transfer Type  : gg...g-CLM hh...h
 Order by Mode  : ii...i
 FLT Server     : jj...j
 SetOpe Process : kk...k = [ll...l mm...m{CC...C}] nn...n [ll...l mm...m{CC...C}]
                     :
 

[説明]

aa...a:
問合せ式本体IDを表示します。
集合演算を含む問合せ式本体ごとに番号を付けます。コンパイルしたSQLが複数の問合せ式本体で構成される場合,この行で情報を区切ります。

bb...b:
問合せ式の種類を表示します。
QUERY:
問合せ
DERIVED TABLE:
FROM句に問合せ式本体を指定した場合の導出表の問合せ
SUBQUERY:
副問合せ
WITH:
WITH句問合せ
VIEW:
ビュー定義の問合せ
FOREIGN:
外部サーバへアクセスするための問合せ

cc...c(cc...c):
問合せ式本体の種類によって,次の情報を表示します。
  • WITH句の問合せ式本体の場合,WITH句問合せ名(相関名)
  • ビュー定義の問合せ式本体の場合,ビュー表名(相関名)
  • FROM句に指定した導出表中の問合せ式本体の場合,"(NO NAME)",又は"(NO NAME)(相関名)"

dd...d{AA...A}:
集合演算結果に対して作業表を作成する場合に情報を表示します。作業表を作成しない場合は表示しません。
ソートをしないで作業表を作成する場合は,"LIST"を表示します。
ソートをして作業表を作成する場合は,"LIST(SORT)"を表示します。

ee...e:
副問合せの実行方式を表示します。副問合せの実行方式については,マニュアル「HiRDB Version 8 UAP開発ガイド」の「外への参照のない副問合せの実行方式」及び「外への参照のある副問合せの実行方式」を参照してください。
WORK TABLE ATS SUBQ:
副問合せの処理方式が作業表ATS実行であることを示します。
WORK TABLE SUBQ:
副問合せの処理方式が作業表実行であることを示します。
ROW VALUE SUBQ:
副問合せの処理方式が行値実行であることを示します。
HASH SUBQ:
副問合せの処理方式がハッシュ実行であることを示します。
NESTED LOOPS WORK TABLE SUBQ:
副問合せの処理方式がネストループ作業表実行であることを示します。
NESTED LOOPS ROW VALUE SUBQ:
副問合せの処理方式がネストループ行値実行であることを示します。

ff...f:
副問合せの実行方式でSQL最適化指定が指定されている場合,その指定が有効であったかどうかを表示します。SQL最適化指定については,マニュアル「HiRDB Version 8 SQLリファレンス」を参照してください。
AS SPECIFIED:
指定が有効であったため,SQL最適化指定を適用しました。
SPECIFICATION IGNORED:
指定が無効であったため,SQL最適化指定を無視しました。

gg…g-CLM hh…h:
副問合せ,WITH句問合せ式本体,ビュー定義,及びHiRDBが内部的に問合せ式本体を作成する場合,上位の問合せに転送をするときの転送方法を表示します。
gg…gは転送に使用する列数,hh…hは転送方法の種類となります。転送方法の種類については,「17.5.8 転送方法の種類」を参照してください。

ii...i:
集合演算処理のORDER BYの処理方式を表示します。ORDER BYを指定していない場合,この行を表示しません。ORDER BYの処理方式については,「17.5.14 ORDER BY処理方式の種類」を参照してください。
HiRDB/シングルサーバの場合は,問合せ処理情報にも問合せ処理のORDER BYの処理方式を表示します。

jj...j:
集合演算処理のための,フロータブルサーバの要求数を表示します。フロータブルサーバが不要な場合は0を表示します。HiRDB/シングルサーバの場合は表示しません。

kk...k = [ll...l mm...m{CC...C}] nn...n [ll...l mm...m{CC...C}]:
集合演算の演算順序を表示します。集合演算を複数指定した場合は,複数行に分けて表示します。
kk...k:
集合演算結果の集合演算番号を,"LID(集合演算番号)"で表示します。
ll...l:
結合する問合せ式本体が問合せ指定の場合,"QID(問合せID)"を表示します。結合する問合せ式本体が複数の問合せ指定の結合結果の場合,"LID(集合演算番号)"を表示します。
mm...m{CC...C}:
集合演算をする前に,作業表を作成する場合に情報を表示します。作業表を作成しない場合は表示しません。
ソートをしないで作業表を作成する場合は,"LIST"を表示します。ソートをして作業表を作成する場合は,"LIST(SORT)"を表示します。
LIMIT句指定時に,作業表を作成しないで,ソート結果の先頭からn件だけをメモリ上で求める場合には,"MEM(SUBSORT)"を表示します。
nn...n:
集合演算の種別("UNION","UNION ALL","EXCEPT",又は"EXCEPT ALL")を表示します。前後にある[ll...l mm...m{CC...C}]は,結合する問合せ式本体となります。
集合演算の演算順序の表示例を次に示します。
 
((SELECT C1 FROM T1   ...................問合せID:1
    UNION SELECT C1 FROM T2)   ..........問合せID:2
      UNION ALL SELECT C1 FROM T3)   ....問合せID:3
 
 
SetOpe Process : LID(1) = [QID(1) LIST(SORT) {...}] UNION [QID(2) LIST(SORT) {...}]
                 LID(2) = [LID(1) LIST{...}] UNION ALL [QID(3) LIST{...}]