1

db2exfmtユーティリティーを使用して照会のアクセス・プランを生成しましたが、それを理解できません。

どなたかアクセス プランを説明していただけないでしょうか (括弧内の数字の意味、/-----+------\ など)。

    Access Plan:
    -----------
    Total Cost:    15.1619
    Query Degree:  1

          Rows 
         RETURN
         (   1)
          Cost 
           I/O 
            |
            3 
         HSJOIN
         (   2)
         15.1619 
            2 
     /-----+------\
    4                3 
 TBSCAN           TBSCAN
 (   3)           (   4)
 7.58097          7.58036 
    1                1 
    |                |
    4                3 
 TABLE: DB2INST1  TABLE: DB2INST1
  TABA             TABB
   Q2               Q1
4

1 に答える 1

5

下から読んでください。各ノードは、クエリを満たすために実行される操作です。TBSCAN は、テーブル全体がスキャンされることを意味します (これは、テーブルが小さい場合によく発生します)。HSJOIN は「ハッシュ結合」です。メモリ内の 2 つのテーブルの行をハッシュマップで結合します。

1つのノードを見てみましょう

          4
       TBSCAN
       (   3)
       7.58097
          1
          |
          4
   TABLE: DB2INST1.TABA

先頭の '4' は返される行数です。次の行 'TBSCAN' は使用されるアルゴリズムです (TBSCAN はテーブル スキャンを意味します。HSJOIN はハッシュマップによる結合を意味します)。DB2 では、これは「オペレーター」と呼ばれます。「(3)」はシーケンス番号です。このクエリは 4 つのステップに分解されていることがわかります。7.58097 は、「timerons」と呼ばれる、このステップまでにこのクエリを実行するための累積コストです。これはデータベースの構成方法に基づいて調整され、オプティマイザーはこのコストを最小化するアクセス プランを選択します。下の 4 つは、I/O に関する操作のコストです。

省略した db2exfmt からの情報は他にもたくさんあります。しかし、グラフは、DB2 がどのように照会を実行するかを示しています。

于 2012-09-07T18:39:53.340 に答える