その他の Explain 情報

db2expln コマンドからの出力には、簡単に分類できない、有用な追加情報が含まれています。

  • データ定義言語 (DDL) ステートメントのセクションは、次のステートメントの出力に示されます。
       DDL Statement
    DDL ステートメントには、そのほかに Explain 出力はありません。
  • 更新可能な特殊レジスター (CURRENT EXPLAIN SNAPSHOT など) に関する SET ステートメントのセクションは、次のステートメントの出力に示されます。
       SET Statement
    SET ステートメントには、そのほかに Explain 出力はありません。
  • SQL ステートメントに DISTINCT 節が含まれる場合、次のステートメントが出力に表示されます。
       Distinct Filter  #Columns = n
    ここで、n は、入手している個別行に含まれる列の数です。 個別行の値を検索するには、重複値を除去するために最初に行をソートする必要があります。 データベース・マネージャーが明示的に重複を除去する必要がなければ、このステートメントは表示されません。以下のような場合があります。
    • ユニーク索引が存在しており、索引キー内のすべての列が DISTINCT 操作の一部になっています。
    • ソート中に重複を除去することができます。
  • partial early distinct (PED) 操作を実行して、(全部ではないかもしれないが) 多くの重複を除去した場合、次のステートメントが表示されます。 これにより、後で照会を評価するときに処理しなければならないデータの量が少なくなります。
    Hashed partial distinct filter
  • 以下のステートメントは、次の操作が特定のレコード ID に依存している場合に表示されます。
       Positioned Operation
    位置操作がフェデレーテッド・データ・ソースに対するものである場合、ステートメントは以下のようになります。
       Distributed Positioned Operation
    このステートメントは、WHERE CURRENT OF 構文を使用する SQL ステートメントに使われます。
  • 次のステートメントは、結果には適用しなければならないものの、別の操作の一部として適用することはできない述部がある場合に表示されます。
       Residual Predicate Application
       |  #Predicates = n
  • 以下のステートメントは、SQL ステートメントに UNION 演算子が含まれる場合に表示されます。
       UNION
  • 次のステートメントは、後続の操作に使用される行の値を作成することだけを目的とした操作がアクセス・プラン内にある場合に表示されます。
       Table Constructor
       |  n-Row(s)
    表構成プログラムを使用して、1 つの集合として存在している値を一連の行に変形し、 後続の操作に渡すことができます。 表構成プログラムを次の行に入力するよう要求されると、次のステートメントが表示されます。
       Access Table Constructor
  • 次のステートメントは、特定の条件の下でのみ処理される操作があるときに表示されます。
       Conditional Evaluation
       |  Condition #n:
       |  #Predicates = n
       |  Action #n:
    条件付き評価は、CASE ステートメントなどの活動や、 参照整合性制約やトリガーなどの内部機構を実行するときに使用します。 処置に何も示されていない場合は、条件が真であるときにのみデータ操作命令が処理されます。
  • ALL、ANY、または EXISTS 副照会がアクセス・プラン内で処理中である場合には、 以下のステートメントのうちのいずれかが表示されます。
       ANY/ALL Subquery
       EXISTS Subquery
       EXISTS SINGLE Subquery
  • 特定の更新操作と削除操作の前に、表中の特定の行の位置を確立する必要があります。 このことは、次のステートメントで示します。
       Establish Row Position
  • 次のステートメントは、行がアプリケーションに戻っている場合に表示されます。
       Return Data to Application
       |  #Columns = n
    操作が表アクセスにプッシュダウンされた場合、以下の完了フェーズ・ステートメントが出力に表示されます。
       Return Data Completion
  • ストアード・プロシージャーが呼び出されている場合、以下のステートメントが表示されます。
       Call Stored Procedure
       |   Name = schema.funcname
       |   Specific Name = specificname
       |   SQL Access Level = accesslevel
       |   Language = lang
       |   Parameter Style = parmstyle
       |   Expected Result Sets = n
       |   Fenced                       Not Deterministic
       |   Called on NULL Input         Disallow Parallel
       |   Not Federated                Not Threadsafe
  • 以下のステートメントは、1 つ以上のラージ・オブジェクト (LOB) ロケーターが解放されている場合に表示されます。
       Free LOB Locators