Hitachi

Hitachi Advanced Data Binder AP開発ガイド


6.1.2 アクセスパスを確認するには

アクセスパスを確認するには次に示す2つの方法があります。

〈この項の構成〉

(1) #SET OPT REPORTを実行してアクセスパス情報を確認する方法

adbsqlコマンドの#SET OPT REPORTで,アクセスパス情報を表示できます。アクセスパス情報の表示手順を次に示します。

手順

  1. adbsqlコマンドを実行する

  2. adbsqlサブコマンドの#SET OPT REPORTを実行する

    #SET OPT REPORT ON TYPE=PATH EXEC=PREPARE;
    メモ

    この例では,SQL文の実行はしないで,アクセスパス情報だけを表示するため,EXEC=PREPAREを指定しています。SQL文を実行して,かつアクセスパス情報を表示したい場合は,EXEC=PREPAREを指定しないでください。

  3. SQL文を実行する

    SELECT * FROM "T1" WHERE "C1" =1 AND "C2" > 0;

    上記のSQL文を実行すると,アクセスパス情報が表示されます。

    <<Tree View>>
    
         1 QUERY : 1
         2   SELECT STATEMENT
         3   +-TABLE SCAN(ADBUSER01.T1) -USING COST
    
    
    <<Detail   >>
    
    QUERY : 1
         3 TABLE SCAN(ADBUSER01.T1)
           INDEX NAME        : RIDX
            INDEX TYPE       : RANGE
            SKIP COND        : CHUNK AND SEGMENT
            INDEX COLUMN     : C1
    
    <<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    : 1
    Connection Number : 1
    SQL Serial Number : 1

なお,この例での表およびレンジインデクスの定義は,次のとおりとします。

CREATE TABLE "T1"("C1" INTEGER,"C2" INTEGER) IN "DBAREA01"
CREATE INDEX "RIDX" ON "T1"("C1") IN "DBAREA02" EMPTY INDEXTYPE RANGE

(2) SQLトレース情報中に出力されたアクセスパス情報を確認する方法

SQLトレースファイルに出力されたSQLトレース情報を,テキストエディタを使用して参照してください。SQLトレースファイルのファイル名を次に示します。

SQLトレース情報に出力されるアクセスパス情報の例を次に示します。

(例)

[SQL]
SELECT * FROM "T1" WHERE "C1"=? AND "C2"=? AND "C3"=?
 
[access path]
<<Tree View>>
 
     1 QUERY : 1
     2   SELECT STATEMENT
     3   +-TABLE SCAN(T1)

SQLトレース情報については,マニュアルHADB システム構築・運用ガイドSQLトレース機能の運用を参照してください。