TQ ノード

このノードは表キューを表します。

ノード名: TQ

意味: 複数のデータベース・エージェントが 1 つの照会を処理しているときに、あるデータベース・エージェントから別のデータベース・エージェントに表データを渡すために使用される、表キュー。 並列処理が行われるときには、照会を処理するために複数のデータベース・エージェントが使用されます。

表キューのタイプは以下のとおりです。
  • ローカル: 表キューは、単一ノード内のデータベース・エージェント間でデータを受け渡すために使用されます。 パーティション内並列処理では、ローカル表キューが使用されます。
  • 非ローカル: 表キューは、異なるノードにあるデータベース・エージェント間でデータを受け渡すために使用されます。

TQ ノードは、起点のタイプに基づいて次の 2 つのタイプに分けられます。

  1. ATQ - 非同期 TQ ノード
  2. XTQ - XML 集約 TQ ノード

XTQ ノードは、データベース・パーティションに保管されている XML 文書から XML シーケンスを構成する表キューです。

たとえば、US_ORDERS が、複数のデータベース・パーティションにあるパーティション化された表であり、US_ORDERS.DETAILS が XML 列であるとします。次の XQuery ステートメントは、販売される製品の総数が 100 を超える場合に、すべての注文を返します。
注: XQuery は Visual Explain によってのみサポートされます。
Xquery let $all_orders := db2-fn:xmlcolumn('US_ORDERS.DETAILS')
ここで、
sum($all_orders//product/qty) > 100
は次の値を返します
$all_orders
。この XQuery ステートメントでは、db2exfmt コマンドは、XTQ ノードを含む以下のアクセス・プラン出力を生成します。このプラン出力で、US_ORDERS.DETAILS 列に保管されているすべての XML 文書に対する参照は、コーディネーター・パーティションに送信 (DTQ: 直接 TQ) されてグローバル・シーケンスに集約されます。後で、グローバル・シーケンス内の各項目は元のパーティションに返されてナビゲートされ、その結果が新規出力グローバル・シーケンスに集約されます (XTQ: XSCAN 関連 TQ)。
              行数
            RETURN
           (   1)
           コスト
             入出力
               |
             1 
           NLJOIN
           (   2)
            98.171 
              8 
            /-+-\
        1         2000 
     FILTER        XTQ   
     (   3)       (   7)
     37.4289      60.7421 
        1           7 
        |           |
        1          0.5 
     GRPBY        XSCAN 
     (   4)       (   8)
     37.3755       57.2 
        1            7 
        |
       360 
       DTQ   
     (   5)
     33.7655 
        1 
        |
       180 
     TBSCAN
     (   6)
     22.051 
        1 
        |
       180 
 TABLE: USER1
    US_ORDERS

フィードバック