XANDOR (XML 索引 ANDing) ノード

このノードは、基礎表へのアクセス数を最小限に削減するために、ANDing された述部を複数の索引に適用できるようにします。

ノード名: XANDOR

意味: 複数の索引スキャンの結果に対して行う、XML データに対する索引の ANDing。これは、単一照会の複雑な述部を評価するために使用されます。

この操作を使用するためには、以下の条件が満たされる必要があります。
  • 等価述部のみが使用される。
  • 索引参照パスでワイルドカードが使用されていない。
  • すべての述部が同じ XML 列で使用されている。

これらのいずれかの条件が満たされない場合、代わりに「索引の論理積」操作が使用されます。

XANDOR された複数の XML データに対する索引スキャンを使用するアクセス・プランを db2exfmt ツールで表示すると、以下のようになります。
                                          行数
                                         RETURN 
                                         (   1) 
                                          コスト
                                           入出力
                                           |
                                       0.00915933 
                                         NLJOIN 
                                         (   2) 
                                         985.789 
                                         98.9779 
                                         /--+--\
                                    2.96215  0.00309213 
                                    FETCH      XSCAN  
                                    (   3)     (  11) 
                                    340.113    217.976 
                                      19         27 
                                   /---+---\
                              2.96215      210000 
                              RIDSCN   TABLE: DB2XML   
                              (   4)        TPCHX 
                              332.008 
                                18 
                                |
                              2.96215 
                              SORT   
                              (   5) 
                              331.957 
                                18 
                                |
                              2.96215 
                              XANDOR 
                              (   6) 
                              331.784 
                                18 
       +----------------+--------+-------+----------------+
     355.62           6996.81          105000           105000 
     XISCAN           XISCAN           XISCAN           XISCAN 
     (   7)           (   8)           (   9)           (  10) 
     165.892          3017.54        1.6473e+06         851554 
        9               81              27768            14898 
       |                |                |                |
     210000           210000           210000           210000 
 XMLIN: DB2XML    XMLIN: DB2XML    XMLIN: DB2XML    XMLIN: DB2XML   
    TPCHX_IDX        TPCHX_IDX        TPCHX_IDX        TPCHX_IDX 

各 XISCAN ノードは索引スキャンを実行し、条件を満たす XML ノード ID を XANDOR ノードにフィードします。 XANDOR ノードは AND 述部と OR 述部を適用して、照会の XML パターンを満たす XML ノードを返します。

パフォーマンスに関する推奨事項:
  • 時間の経過とともに、データベースの更新が繰り返されることによって索引がフラグメント化され、必要以上の索引ページが作成されることがあります。 これは、索引を除去して再作成したり、索引を再編成したりすることにより、修正できます。
  • 統計が最新ではなくなっている場合には、RUNSTATS コマンドを使用して更新してください。
  • 一般に、索引スキャンは、条件を満たす行の数がわずかな場合に最も効率が高くなります。 条件を満たす行の数を見積もるために、オプティマイザーは、述部で参照される列に関して使用可能な統計を使用します。 ある値が他の値より頻繁に発生する場合、RUNSTATS コマンドで WITH DISTRIBUTION 節を使用して分散統計を要求する必要があります。 オプティマイザーは、非一様分散統計を使用することにより、発生頻度の高い値と低い値を区別できます。

フィードバック