17.5.2 問合せ処理情報
----- QUERY ID : aa...a ----- Query Type : bb...b cc...c(cc...c) dd...d{AA...A},... Sub Query Type : ee...e{BB...B} [ff...f] IfThenCnd :{CC...C} Transfer Type : gg...g-CLM hh...h Order by Mode : ii...i Having :{DD...D} Group by Mode : jj...j FLT Server : kk...k(ll...l) mm...m-CLM nn...n
[説明]
- aa...a:
-
問合せIDを表示します。
問合せ指定単位に番号を付けます。コンパイルしたSQLが複数の問合せ指定で構成される場合,この行で区切って情報を出力します。
- bb...b:
-
問合せの種類を表示します。
- QUERY:
-
問合せ
- DERIVED TABLE:
-
FROM句に問合せ式本体を指定した場合の導出表の問合せ
- SUBQUERY:
-
副問合せ
- WITH:
-
WITH句問合せ指定
- VIEW:
-
ビュー定義の問合せ指定
- DUMMY:
-
HiRDBが内部的に作成する問合せ
- CONSTRAINT:
-
参照制約の制約条件内の副問合せ
- cc...c(cc...c):
-
問合せの種類によって,次のように表示します。
-
WITH句問合せ指定の場合はWITH句問合せ名(相関名)となります。
-
ビュー定義の問合せ指定の場合はビュー表名(相関名)となります。
-
FROM句に指定した導出表中の問合せ指定の場合は,"(NO NAME)",又は"(NO NAME)(相関名)"を表示します。
-
HiRDBが内部的に問合せを作成する場合は,その問合せ結果を一時的に格納するために,内部的に作成する作業表名"(DUMMY 作業表番号)"となります。なお,作業表番号は3けたの整数です。
-
参照制約の場合,制約条件内の副問合せのときには制約名となります。
-
- dd...d{AA...A},...:
-
データを検索し,必要に応じて結合した結果に対して,GROUP BY,ORDER BY,DISTINCT,集合演算,排他処理などのために,作業表を作成する場合に情報を表示します。作業表を作成しない場合は表示しません。
作業表を作成する処理の組み合わせによって,複数の作業表を作成する場合はコンマで区切られます。
ソートをしないで作業表を作成する場合は,"LIST"を表示します。ソートをして作業表を作成する場合は,"LIST(SORT)"を表示します。
LIMIT句指定時に,作業表を作成しないで,ソート結果の先頭からn件だけをメモリ上で求める場合には,"MEM(SUBSORT)"を表示します。
- ee...e{BB...B}:
-
副問合せの実行方式を表示します。副問合せの実行方式については,マニュアル「HiRDB 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 SQLリファレンス」を参照してください。
- AS SPECIFIED:
-
有効です。
- SPECIFICATION IGNORED:
-
無効です。
- gg...g-CLM hh...h:
-
副問合せ,WITH句問合せ指定,ビュー定義,集合演算,及びHiRDBが内部的に問合せを作成する場合,上位の問合せに結果を転送するときの転送方法を表示します。gg...gには転送に使用する列数,hh...hには転送方法の種類を表示します。転送方法の種類については,「転送方法の種類」を参照してください。
- ii...i:
-
ORDER BYの処理方式を表示します。ORDER BY句を指定していない場合でも,暗黙的にORDER BYの処理をすることがあります。ORDER BYの処理方式については,「ORDER BY処理方式の種類」を参照してください。
ORDER BYの処理をしない場合,この行を表示しません。
- jj...j:
-
グループ分け処理(暗黙的グループ分け処理を含む)の処理方式を表示します。グループ分け処理方式については,「グループ分け処理方式の種類」を参照してください。
グループ分け処理をしない場合,この行を表示しません。
- kk...k:
-
フロータブルサーバの要求数を表示します。
- ll...l:
-
フロータブルサーバの使用目的を表示します。
検索実行時は,要求数を超えない範囲で,そのときに利用できるすべてのフロータブルサーバを使用します。HiRDB/シングルサーバの場合,この行を表示しません。
- IMPLICIT GROUP BY:
-
明示的にGROUP BYを指定しない場合でも,集合関数処理のための内部的なグループ分け処理に使用します。
- GROUP BY:
-
GROUP BYで指定したグループ分け処理のために使用します。
- DISTINCT:
-
DISTINCT処理のために使用します。
- ORDER BY:
-
ORDER BY処理をするために,フロータブルサーバを割り当てます。
- FOR READ ONLY:
-
FOR READ ONLY句の処理のために,フロータブルサーバを割り当てます。
- FOR UPDATE:
-
FOR UPDATE句の処理のために,フロータブルサーバを割り当てます。
- FOR UPDATE OF:
-
FOR UPDATE OF 列名〔,列名〕…の処理のために,フロータブルサーバを割り当てます。
- PRE-UPDATE DATA:
-
更新前データの参照処理のためにフロータブルサーバを割り当てます。
- mm...m-CLM nn...n:
-
フロータブルサーバへの転送方法を表示します。mm...mには転送に使用する列数を,nn...nには転送方法の種類を表示します。転送方法の種類については,「転送方法の種類」を参照してください。