Nodo XANDOR (XML index anding)

Este nodo permite aplicar los predicados con operaciones AND a varios nodos a fin de reducir a un mínimo los accesos a tablas subyacentes.

Nombre de nodo: XANDOR

Representa: la operación AND de índice a través de datos XML de los resultados de varias exploraciones de índice, que se utilizan para la evaluación de predicados complejos a partir de una consulta individual.

Para poder utilizar esta operación, deben cumplirse las condiciones siguientes:
  • Sólo se utilizan los predicados de igualdad.
  • No existen comodines en la vía de acceso de búsqueda de índices.
  • Todos los predicados se utilizan en la misma columna XML.

Si no se cumple alguna de las condiciones, se utilizará en su lugar la operación de intersección de índice.

Un plan de acceso con varias exploraciones de índice con XANDOR a través de datos XML tal como se muestra en la herramienta db2exfmt puede ser parecido a éste:
                                          Rows 
                                         RETURN                                         (   1) 
                                          Cost 
                                           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 

Cada nodo XISCAN realizará una exploración de índice y alimentará el nodo XANDOR con los ID de nodo XML que se cualifican. aplicará los predicados AND y OR y devolverá los nodos XML que satisfacen el patrón XML de la consulta.

Sugerencias relativas al rendimiento:
  • Conforme pasa el tiempo, las actualizaciones de la base de datos pueden producir la fragmentación de un índice, lo que dará lugar a más páginas de índice de las necesarias. Esto se puede corregir descartando y volviendo a crear el índice o bien reorganizándolo.
  • Si las estadísticas no están al día, actualícelas mediante el mandato RUNSTATS.
  • En general, las exploraciones de índices son más efectivas cuando sólo se cualifican unas cuantas filas. Para calcular el número de filas cualificadas, el optimizador utiliza las estadísticas que están disponibles para las columnas referenciadas en los predicados. Si algunos valores aparecen con más frecuencia que otros, es importante solicitar estadísticas de distribución utilizando la cláusula WITH DISTRIBUTION con el mandato RUNSTATS. Utilizando las estadísticas de distribución no uniformes, el optimizador puede distinguir entre los valores que ocurren con mucha y con poca frecuencia.

Feedback