Hitachi

ノンストップデータベース HiRDB Version 9 コマンドリファレンス(Windows(R)用)


17.5.1 集合演算処理情報

 ----- 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:

ビュー定義の問合せ

cc...c(cc...c):

問合せ式本体の種類によって,次の情報を表示します。

  • WITH句の問合せ式本体の場合,WITH句問合せ名(相関名)

  • ビュー定義の問合せ式本体の場合,ビュー表名(相関名)

  • FROM句に指定した導出表中の問合せ式本体の場合,"(NO NAME)",又は"(NO NAME)(相関名)"

dd...d{AA...A}:

集合演算結果に対して作業表を作成する場合に情報を表示します。作業表を作成しない場合は表示しません。

ソートをしないで作業表を作成する場合は,"LIST"を表示します。

ソートをして作業表を作成する場合は,"LIST(SORT)"を表示します。

ee...e:

副問合せの実行方式を表示します。副問合せの実行方式については,マニュアル「HiRDB Version 9 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 9 SQLリファレンス」を参照してください。

AS SPECIFIED:

指定が有効であったため,SQL最適化指定を適用しました。

SPECIFICATION IGNORED:

指定が無効であったため,SQL最適化指定を無視しました。

gg…g-CLM hh…h:

副問合せ,WITH句問合せ式本体,ビュー定義,及びHiRDBが内部的に問合せ式本体を作成する場合,上位の問合せに転送をするときの転送方法を表示します。

gg…gは転送に使用する列数,hh…hは転送方法の種類となります。転送方法の種類については,「転送方法の種類」を参照してください。

ii...i:

集合演算処理のORDER BYの処理方式を表示します。ORDER BYを指定していない場合,この行を表示しません。ORDER BYの処理方式については,「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{...}]