Hitachi

Hitachi Advanced Data Binder AP開発ガイド


6.1.3 アクセスパスの見方の例

〈この項の構成〉

(1) 例1

表およびB-treeインデクスの定義
CREATE TABLE "T1"("C1" INT,"C2" DEC,"C3" CHAR(10)) IN "DBAREA01"
CREATE INDEX "IDX_C1" ON "T1"("C1") IN "DBAREA02" EMPTY
CREATE INDEX "IDX_C3" ON "T1"("C3") IN "DBAREA02" EMPTY
CREATE TABLE "T2"("C1" INT,"C2" DEC,"C3" CHAR(10)) IN "DBAREA01"
実行したSQL文
SELECT * FROM "T1","T2"
    WHERE "T1"."C1"="T2"."C2"
アクセスパスの表示例
<<Tree View>>
 
     1 QUERY : 1
     2   SELECT STATEMENT                                  ...1
     3   +-NESTED LOOP JOIN                                ...2
     4     |-TABLE SCAN(ADBUSER01.T2)                      ...3
     5     +-INDEX SCAN(ADBUSER01.T1) -ORDER -USING COST   ...4
 
 
<<Detail   >>
 
QUERY : 1
     5 INDEX SCAN(ADBUSER01.T1)                 ...5
       INDEX NAME        : IDX_C1               ...6
        INDEX TYPE       : B-TREE               ...7
        INDEX COLUMN     : C1 ASC (=)           ...8
 
 
<<COST Info>>

TABLE : ADBUSER01.T1
       COLLECT VERSION   : 05-03
       COLLECT TIME      : 2020-05-25 13:36:46
 
 
<<SQL Info >>
 
Version           : 05-03 May 25 2020 12:51:53
Transaction ID    : 6197
Connection Number : 3
SQL Serial Number : 2
[説明]
  1. SELECT文が実行されることを示しています。

  2. 表の結合処理で,ネストループジョインが実行されることを示しています。

  3. T2の検索処理で,テーブルスキャンが実行されることを示しています。

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

    • -ORDER」が表示されているため,非順序実行方式が適用されないで,順序実行方式が適用されることを示しています。

    • -USING COST」が表示されているため,表T1に関するコスト情報が収集されていることを示しています。

  5. T1に対するインデクススキャンの詳細情報を示しています。

  6. インデクススキャンの実行で,B-treeインデクスIDX_C1が使用されることを示しています。

  7. インデクスの種別が表示されます。B-TREEは,B-treeインデクスであることを示しています。

  8. B-treeインデクスIDX_C1の情報を示しています。

    • C1:B-treeインデクスIDX_C1のインデクス構成列

    • ASC:キー値の並び順

    • (=):サーチ条件の指定

(2) 例2

表の定義
CREATE TABLE "T1"("C1" INT,"C2" DEC,"C3" CHAR(10)) IN "DBAREA01"
CREATE TABLE "T2"("C1" INT,"C2" DEC,"C3" CHAR(10)) IN "DBAREA01"
実行したSQL文
SELECT * FROM "T1"
     WHERE "C1"=ANY(SELECT "C2" FROM "T2" WHERE "C1"="T1"."C2")
アクセスパスの表示例
<<Tree View>>
 
     1 QUERY : 1
     2   SELECT STATEMENT                               ...1
     3   +-TABLE SCAN(ADBUSER01.T1) -USING COST         ...2
     4     +-SUBQUERY LOOP                              ...3
     5       |-CREATE LOCAL WORK TABLE(WORK TABLE 1)    ...4
     6       | +-QUERY SCAN(QUERY 2)                    ...5
     7       +-WORK TABLE SCAN(WORK TABLE 1)            ...6
     8
     9 QUERY : 2                                        ...7
    10   SUBQUERY LOOP                                  ...8
    11   +-TABLE SCAN(ADBUSER01.T2)                     ...9
 
 
<<COST Info>>
 
TABLE : ADBUSER01.T1
       COLLECT VERSION   : 05-03
       COLLECT TIME      : 2020-05-25 13:36:46
 
 
<<SQL Info >>
 
Version           : 05-03 May 25 2020 12:51:53
Transaction ID    : 6197
Connection Number : 3
SQL Serial Number : 3
[説明]
  1. SELECT文が実行されることを示しています。

  2. T1の検索処理で,テーブルスキャンが実行されることを示しています。

    -USING COST」が表示されているため,表T1に関するコスト情報が収集されていることを示しています。

  3. 限定述語(ANY)に指定した副問合せの処理方式で,ネストループ作業表実行またはネストループ行値実行が適用されることを示しています。

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

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

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

  7. 副問合せの詳細情報を示しています。

  8. 副問合せの処理方式で,ネストループ作業表実行またはネストループ行値実行が適用されることを示しています。

  9. T2の検索処理で,テーブルスキャンが実行されることを示しています。