Hitachi

Hitachi Advanced Data Binder AP開発ガイド


6.1.4 ツリー表示に出力される情報

ツリー表示には,表の検索方式,表の結合方式,副問合せの処理方式などが,問合せごとにツリー形式で表示されます。

〈この項の構成〉

(1) 実行したSQL文の種類

次のどれかの情報が出力されます。

出力例
<<Tree View>>
 
     1 QUERY : 1
     2   SELECT STATEMENT
     3   +-TABLE SCAN(ADBUSER01.T2)
[説明]

SELECT文が実行されることを示しています。

(2) 副問合せの処理方式

次のどれかの情報が出力されます。

副問合せの処理方式については,「5.6 副問合せの処理方式」を参照してください。

出力例
<<Tree View>>

     1 QUERY : 1
     2   SELECT STATEMENT
     3   +-SUBQUERY HASH -FILTER
     4     |-QUERY SCAN(QUERY 2)
     5     +-TABLE SCAN(ADBUSER01.T1)
     6 
     7 QUERY : 2
     8   SUBQUERY HASH
     9   +-TABLE SCAN(ADBUSER01.T2)
[説明]

副問合せの処理方式で,ハッシュ実行が適用されることを示しています。

ツリー行番号3のSUBQUERY HASHの後ろにFILTERが表示されているため,ハッシュ実行の際にハッシュフィルタが適用されることを示しています。

(3) 導出表の指定

次の情報が出力されます。

出力例
<<Tree View>>
 
     1 QUERY : 1
     2   SELECT STATEMENT
     3   +-DERIVED TABLE(D1)
     4     +-QUERY SCAN(QUERY 2)
     5 
     6 QUERY : 2
     7   DERIVED TABLE(D1)
     8   |-CREATE LOCAL WORK TABLE(WORK TABLE 1)
     9   | |-TABLE SCAN(ADBUSER01.T2)
    10   | |-SORTING BYTE
    11   | +-LIMIT 10
    12   |-WORK TABLE SCAN(WORK TABLE 1)
    13   +-LIMIT 10
[説明]

SELECT文中に導出表が指定されていることを示しています。( )内には,相関名が表示されます。

(4) 集合演算の指定

次の情報が出力されます。

出力例
<<Tree View>>
 
     1 QUERY : 0
     2   SELECT STATEMENT
     3   +-SET OPERATION
     4     |-QUERY SCAN(QUERY 1)
     5     +-QUERY SCAN(QUERY 2)
     6 
     7 QUERY : 1
     8   QUERY
     9   +-TABLE SCAN(ADBUSER01.T1)
    10 
    11 QUERY : 2
    12   QUERY
    13   +-TABLE SCAN(ADBUSER01.T2)
[説明]

SELECT文中に集合演算が指定されていることを示しています。

なお,SET OPERATIONの後ろに,次の情報が表示されることがあります。

出力例
<<Tree View>>
 
     1 QUERY : 3
     2   SELECT STATEMENT
     3   +-DERIVED TABLE(REC)
     4     +-SET OPERATION -RECURSIVE
     5       |-QUERY SCAN(QUERY 1)
     6       +-QUERY SCAN(QUERY 2)
     7
     8 QUERY : 1
     9   QUERY
    10   |-CREATE GLOBAL WORK TABLE(WORK TABLE 1)
    11   | +-TABLE SCAN(ADBUSER01.T1)
    12   +-WORK TABLE SCAN(WORK TABLE 1)
    13
    14 QUERY : 2
    15   QUERY
    16   |-CREATE GLOBAL WORK TABLE(WORK TABLE 2)
    17   | +-WORK TABLE SCAN(WORK TABLE 2)
    18   +-WORK TABLE SCAN(WORK TABLE 2)
[説明]

再帰的問合せが実行されることを示しています。

SET OPERATIONに続いて表示される最初の問合せ情報が,アンカーメンバの問合せ情報です。次の問合せ情報が,再帰的メンバの問合せ情報です。上記の出力例の場合,QUERY 1がアンカーメンバの問合せ情報で,QUERY 2が再帰的メンバの問合せ情報です。

(5) 集合演算方式指定

次の情報が出力されます。

出力例
<<Tree View>>
 
     1 QUERY : 0
     2   SELECT STATEMENT
     3   +-SET OPERATION -SPECIFIC
     4     |-QUERY SCAN(QUERY 1)
     5     +-QUERY SCAN(QUERY 2)
     6
     7 QUERY : 1
     8   QUERY
     9   |-CREATE LOCAL WORK TABLE(WORK TABLE 1)
    10   | |-TABLE SCAN(ADBUSER01.T1)
    11   | +-SORTING BYTE -DISTINCT
    12   +-WORK TABLE SCAN(WORK TABLE 1)
    13
    14 QUERY : 2
    15   QUERY
    16   |-CREATE LOCAL WORK TABLE(WORK TABLE 2)
    17   | |-TABLE SCAN(ADBUSER01.T2)
    18   | +-SORTING BYTE -DISTINCT
    19   +-WORK TABLE SCAN(WORK TABLE 2)
[説明]

SELECT文に指定した集合演算方式指定が有効になることを示しています。

(6) 問合せの種類

次の情報が出力されます。

出力例
<<Tree View>>
 
     1 QUERY : 0
     2   INSERT STATEMENT
     3   +-QUERY SCAN(QUERY 1)
     4 
     5 QUERY : 1
     6   QUERY
     7   +-TABLE SCAN(ADBUSER01.T2) -ORDER
[説明]

INSERT文中に問合せ式本体が指定されていることを示しています。

(7) 作業表の作成情報

次のどちらかの情報が出力されます。

作業表番号とは,作業表を一意に識別するために割り当てられた番号のことです。

出力例
<<Tree View>>
 
     1 QUERY : 1
     2   SELECT STATEMENT
     3   |-SUBQUERY
     4   | +-CREATE GLOBAL WORK TABLE(WORK TABLE 1)
     5   |   |-QUERY SCAN(QUERY 2)
     6   |   +-SORTING BYTE
     7   +-INDEX SCAN(ADBUSER01.T1)
     8     +-SUBQUERY
     9       +-WORK TABLE SCAN(WORK TABLE 1)
    10 
    11 QUERY : 2
    12   SUBQUERY
    13   +-TABLE SCAN(ADBUSER01.T2)
[説明]

副問合せの処理で,グローバル作業表が作成されることを示しています。

(8) 副問合せ処理方式指定

次の情報が出力されます。

出力例
<<Tree View>>
 
     1 QUERY : 1
     2   SELECT STATEMENT
     3   |-SUBQUERY -SPECIFIC
     4   | +-CREATE GLOBAL WORK TABLE(WORK TABLE 1)
     5   |   +-QUERY SCAN(QUERY 2)
     6   +-TABLE SCAN(ADBUSER01.T1(A))
     7     +-SUBQUERY
     8       +-WORK TABLE SCAN(WORK TABLE 1)
     9
    10 QUERY : 2
    11   SUBQUERY
    12   +-TABLE SCAN(ADBUSER01.T2)
[説明]

SELECT文に指定した副問合せ処理方式指定が有効になることを示しています。

(9) 副問合せ処理委譲指定

次の情報が出力されます。

出力例
<<Tree View>>
 
     1 QUERY : 1
     2   SELECT STATEMENT
     3   +-TABLE SCAN(ADBUSER01.T1(A))
     4     +-SUBQUERY LOOP -DELEGATION -USING CACHE
     5       +-QUERY SCAN(QUERY 2)
     6
     7 QUERY : 2
     8   SUBQUERY LOOP
     9   |-SUBQUERY LOOP -SPECIFIC -DELEGATION
    10   | +-QUERY SCAN(QUERY 3)
    11   +-TABLE SCAN(ADBUSER01.T1(B))
    12
    13 QUERY : 3
    14   SUBQUERY LOOP
    15   +-TABLE SCAN(ADBUSER01.T1(C))
[説明]

SELECT文に指定した副問合せ処理委譲指定が有効になることを示しています。

(10) 副問合せのキャッシュ使用情報

次の情報が出力されます。

ネストループ行値実行については,「5.6.3 外への参照列を含む副問合せの処理方式とは」の「(2) ネストループ行値実行」を参照してください。

出力例
<<Tree View>>
 
     1 QUERY : 1
     2   SELECT STATEMENT
     3   +-TABLE SCAN(ADBUSER01.T1)
     4     +-SUBQUERY LOOP -USING CACHE
     5       +-QUERY SCAN(QUERY 2)
     6 
     7 QUERY : 2
     8   SUBQUERY LOOP
     9   +-TABLE SCAN(ADBUSER01.T2)
[説明]

副問合せの処理方式でネストループ行値実行が適用されて,副問合せの結果を格納するためのキャッシュが使用されることを示しています。

(11) 表関数導出表の指定

次の情報が出力されます。

出力例
<<Tree View>>
 
     1 QUERY : 1
     2   SELECT STATEMENT
     3   +-TABLE FUNCTION DERIVED TABLE(T4)
     4     +-TABLE SCAN(ADBUSER01.T4)
[説明]

SELECT文中に表関数導出表が指定されていることを示しています。( )内には,相関名が表示されます。

(12) 重複排除の処理方式

次の情報が出力されます。

出力例
<<Tree View>>
 
     1 QUERY : 1
     2   SELECT STATEMENT
     3   |-KEY SCAN(ADBUSER01.T1)
     4   |-GLOBAL HASH UNIQUE
     5   +-GROUPING
[説明]

グループ化の処理方式のグローバルハッシュグループ化を適用して検索結果の重複を排除することを示しています。

(13) グループ化の処理方式

次のどれかの情報が出力されます。

グループ化の処理方式については,「5.7 グループ化の処理方式」を参照してください。

出力例
<<Tree View>>
 
     1 QUERY : 1
     2   SELECT STATEMENT
     3   |-TABLE SCAN(ADBUSER01.T1)
     4   +-GLOBAL HASH GROUPING
[説明]

グループ化の処理方式で,グローバルハッシュグループ化が実行されることを示しています。

なお,グループ化の処理方式の各情報の後ろに,次の情報が表示されることがあります。

(14) HAVING句の指定

次の情報が出力されます。

出力例
<<Tree View>>
 
     1 QUERY : 1
     2   SELECT STATEMENT
     3   |-TABLE SCAN(ADBUSER01.T1)
     4   |-GLOBAL HASH GROUPING
     5   +-HAVING
[説明]

SELECT文中にHAVING句が指定されていることを示しています。

(15) ソート処理の実行

次の情報が出力されます。

出力例
<<Tree View>>
 
     1 QUERY : 1
     2   SELECT STATEMENT
     3   |-CREATE LOCAL WORK TABLE(WORK TABLE 1)
     4   | |-TABLE SCAN(ADBUSER01.T1)
     5   | +-SORTING BYTE
     6   +-WORK TABLE SCAN(WORK TABLE 1)
[説明]

ORDER BY句の指定によって,ソート処理が実行されることを示しています。

(16) 重複排除の情報

次の情報が出力されます。

出力例
<<Tree View>>
 
     1 QUERY : 1
     2 SELECT STATEMENT
     3 |-CREATE LOCAL WORK TABLE(WORK TABLE 1)
     4 | |-KEY SCAN(ADBUSER01.T1)
     5 | +-SORTING BYTE -DISTINCT
     6 +-WORK TABLE SCAN(WORK TABLE 1)
[説明]

ソート処理の中で,重複排除処理が実行されることを示しています。

出力例
<<Tree View>>
 
     1 QUERY : 1
     2 SELECT STATEMENT
     3 |-CREATE LOCAL WORK TABLE(WORK TABLE 1)
     4 | |-KEY SCAN(ADBUSER01.T1) -DISTINCT
     5 | +-SORTING BYTE -DISTINCT
     6 +-WORK TABLE SCAN(WORK TABLE 1)
[説明]

キースキャン処理およびソート処理の中で,重複排除処理が実行されることを示しています。

(17) SELECT重複排除方式指定

次の情報が出力されます。

出力例
<<Tree View>>
 
     1 QUERY : 1
     2   SELECT STATEMENT
     3   |-CREATE LOCAL WORK TABLE(WORK TABLE 1)
     4   | |-TABLE SCAN(ADBUSER01.T1)
     5   | +-SORTING BYTE -SPECIFIC -DISTINCT
     6   +-WORK TABLE SCAN(WORK TABLE 1)
[説明]

SELECT文に指定したSELECT重複排除方式指定が有効になることを示しています。

(18) LIMIT句の指定

次の情報が出力されます。

出力例
<<Tree View>>
 
     1 QUERY : 1
     2   SELECT STATEMENT
     3   |-CREATE LOCAL WORK TABLE(WORK TABLE 1)
     4   | |-TABLE SCAN(ADBUSER01.T1)
     5   | |-SORTING BYTE
     6   | +-LIMIT ? PARAMETER,5
     7   |-WORK TABLE SCAN(WORK TABLE 1)
     8   +-LIMIT ? PARAMETER,5
[説明]

オフセット行数に?パラメタを指定し,リミット行数に5を指定したLIMIT句が指定されていることを示しています。

(19) ウィンドウ関数の指定

次の情報が出力されます。

出力例
<<Tree View>>
 
     1 QUERY : 1
     2   SELECT STATEMENT
     3   |-CREATE LOCAL WORK TABLE(WORK TABLE 1)
     4   | |-TABLE SCAN(ADBUSER01.T1)
     5   | +-SORTING BYTE
     6   |-WORK TABLE SCAN(WORK TABLE 1)
     7   +-WINDOW
[説明]

ウィンドウ関数の指定によって,ウィンドウ関数が実行されることを示しています。

(20) 表の検索方式

次のどれかの情報が出力されます。

テーブルスキャン,インデクススキャン,およびキースキャンについては,「5.1 表の検索方式」を参照してください。

出力例
<<Tree View>>
 
     1 QUERY : 1
     2   SELECT STATEMENT
     3   +-INDEX SCAN(ADBUSER01.T1)
[説明]

T1の検索処理で,インデクススキャンが実行されることを示しています。

(21) 表データの格納形式

次の情報が出力されます。

出力例
<<Tree View>>
 
     1 QUERY : 1
     2   SELECT STATEMENT
     3   +-TABLE SCAN(ADBUSER01.T1) -COLUMN STORE
[説明]

T1のデータの格納形式がカラムストア形式であることを示しています。

(22) 順序実行方式

次の情報が出力されます。

出力例
<<Tree View>>
 
     1 QUERY : 1
     2   SELECT STATEMENT
     3   +-NESTED LOOP JOIN
     4     |-TABLE SCAN(ADBUSER01.T2)
     5     +-INDEX SCAN(ADBUSER01.T1) -ORDER
[説明]

T1の検索処理で,インデクススキャンが順序実行方式で実行されることを示しています。

(23) インデクス指定

次のどちらかの情報が出力されます。

出力例
<<Tree View>>
 
     1 QUERY : 1
     2   SELECT STATEMENT
     3   +-INDEX SCAN(ADBUSER01.T1) -SPECIFIC
[説明]

SELECT文に指定したインデクス指定が有効になり,表T1の検索処理で,インデクススキャンが実行されることを示しています。

(24) コスト情報の収集

次の情報が出力されます。

出力例
<<Tree View>>
 
     1 QUERY : 1
     2   SELECT STATEMENT
     3   +-TABLE SCAN(ADBUSER01.T3) -USING COST
[説明]

T3に関するコスト情報が収集されていることを示しています。

(25) 集まり導出表の指定

次の情報が出力されます。

出力例
<<Tree View>>

     1 QUERY : 1
     2   SELECT STATEMENT
     3   +-TABLE SCAN(ADBUSER01.T1) -COLUMN STORE -UNNEST
[説明]

SQL文中に集まり導出表が指定されていることを示しています。

(26) 作業表の検索実行

次の情報が出力されます。

出力例
<<Tree View>>
 
     1 QUERY : 1
     2   SELECT STATEMENT
     3   |-SUBQUERY
     4   | +-CREATE GLOBAL WORK TABLE(WORK TABLE 1)
     5   |   |-QUERY SCAN(QUERY 2)
     6   |   +-SORTING BYTE
     7   +-INDEX SCAN(ADBUSER01.T1)
     8     +-SUBQUERY
     9       +-WORK TABLE SCAN(WORK TABLE 1)
    10 
    11 QUERY : 2
    12   SUBQUERY
    13   +-TABLE SCAN(ADBUSER01.T2)
[説明]

副問合せの処理で,作業表の検索が実行されることを示しています。

なお,ORDER BY句を指定したSQL文の実行時に作成された作業表に,FROM句に指定した表の行IDが格納される場合,作業表の検索直後に行IDを使用してデータページからデータを取り出すための検索が実行されることがあります。作業表の用途と構成列については,「5.10 作業表が作成されるSQLを実行する際の考慮点」を参照してください。

(27) 問合せ検索の実行

次の情報が出力されます。

出力例
<<Tree View>>
 
     1 QUERY : 1
     2   SELECT STATEMENT
     3   +-SUBQUERY HASH
     4     |-QUERY SCAN(QUERY 2)
     5     +-TABLE SCAN(ADBUSER01.T1)
     6 
     7 QUERY : 2
     8   SUBQUERY HASH
     9   +-TABLE SCAN(ADBUSER01.T2)
[説明]

問合せ検索が実行されることを示しています。

ツリー行番号7に表示されている「QUERY : 2」の問合せ検索を行うことを示しています。

実行したSELECT文の例

SELECT * FROM "T1" WHERE "C1"=(SELECT "C2" FROM "T2" WHERE "C1"="T1"."C1")

(28) 表の結合方式

次のどちらかの情報が出力されます。

表の結合方式については,「5.5 表の結合方式」を参照してください。

出力例(NESTED LOOP JOINの場合)
<<Tree View>>
 
     1 QUERY : 1
     2   SELECT STATEMENT
     3   +-NESTED LOOP JOIN
     4     |-TABLE SCAN(ADBUSER01.T2)
     5     +-INDEX SCAN(ADBUSER01.T1) -ORDER
[説明]
  • T1と表T2の結合処理で,ネストループジョインが実行されることを示しています。

  • 表の結合方式がネストループジョインの場合,NESTED LOOP JOINの下位に表示される情報は,外表から順に表示されます。上記の例の場合,ツリー行番号が4の情報が外表の情報で,ツリー行番号が5の情報が内表の情報です。

出力例(HASH JOINの場合)
<<Tree View>>

     1 QUERY : 1
     2   SELECT STATEMENT
     3   +-HASH JOIN -FILTER -DIVIDE
     4     |-TABLE SCAN(ADBUSER01.T1)
     5     +-TABLE SCAN(ADBUSER01.T2)
[説明]
  • T1と表T2の結合処理で,ハッシュジョインが実行されることを示しています。

  • 表の結合方式がハッシュジョインの場合,HASH JOINの下位に表示される情報は,ハッシュジョインの外表,内表の順に表示されます。上記の例の場合,ツリー行番号が4の情報が外表の情報で,ツリー行番号が5の情報が内表の情報です。

  • ツリー行番号が3のHASH JOINの後ろにFILTERが表示されているため,ハッシュジョインの際にハッシュフィルタが適用されることを示しています。

  • ツリー行番号が3のHASH JOINの後ろにDIVIDEが表示されているため,ハッシュジョインが分割実行されることを示しています。

(29) 結合方式指定

次のどちらかの情報が出力されます。

出力例
<<Tree View>>
 
     1 QUERY : 1
     2   SELECT STATEMENT
     3   +-HASH JOIN -SPECIFIC
     4     |-TABLE SCAN(ADBUSER01.T1(A))
     5     +-TABLE SCAN(ADBUSER01.T2(B))
[説明]

SELECT文に指定した結合方式指定が有効になり,表の結合処理でハッシュジョインが実行されることを示しています。

(30) 表値構成子の検索情報

次の情報が出力されます。

出力例
<<Tree View>>
 
     1 QUERY : 1
     2   SELECT STATEMENT
     3   +-NESTED LOOP JOIN
     4     |-TABLE SCAN(ADBUSER01.T1)
     5     +-DERIVED TABLE(DT)
     6     +-TABLE VALUE CONSTRUCTOR SCAN
[説明]

表値構成子を検索することを示しています。