Noeud XANDOR (Ajout d'index XML)

Ce noeud permet aux prédicats ajoutés d'être appliqués à plusieurs index afin de réduire au maximum les accès aux tables sous-jacentes.

Nom du noeud : XANDOR

Représente : L'index des données XML. Ajout des résultats de plusieurs analyses d'index utilisés pour évaluer les prédicats complexes d'une requête unique.

Pour que cette opération soit utilisée, les conditions suivantes doivent être remplies :
  • Seuls des prédicats d'égalité sont utilisés.
  • Il n'y a pas de caractère générique dans le chemin de recherche de l'index.
  • Tous les prédicats sont utilisés dans la même colonne XML.

Si l'une de ces conditions n'est pas remplie, c'est le noeud Intersection d'index qui est utilisé.

Un plan d'accès contenant plusieurs analyses d'index XANDORed de données XML, comme l'indique l'outil db2exfmt, peut se présenter de cette manière :
                                          Lignes 
                                         RETURN 
                                         (   1) 
                                          Coût 
                                           I/O 
                                           |
                                       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 

Chaque noeud XISCAN effectue une analyse d'index et fournit au noeud XANDOR les ID de noeud XML de qualification. Le noeud XANDOR applique les prédicats AND et OR et retourne le noeuds XML qui sont conformes au modèle XML de la requête.

Suggestions liées aux performances :
  • Dans le temps, les mises à jour de bases de données peuvent entraîner la fragmentation d'un index, ce qui donne plus de pages d'index que nécessaire. Ceci peut être corrigé en supprimant et en recréant l'index ou en le réorganisant.
  • Si les statistiques ne sont pas à jour, mettez-les à jour à l'aide de la commande RUNSTATS.
  • En général, les analyses d'index sont les plus efficaces lorsque seules quelques lignes sont qualifiées. Pour évaluer le nombre de lignes de qualification, l'optimiseur utilise les statistiques disponibles pour les colonnes référencées dans les prédicats. Si certaines valeurs apparaissent plus fréquemment que d'autres, il est important de demander des statistiques de distribution en utilisant la clause WITH DISTRIBUTION pour la commande RUNSTATS. Grâce aux statistiques de distribution non uniformes, l'optimiseur peut faire la distinction entre les valeurs apparaissant fréquemment et celles apparaissant rarement.

Commentaire en retour