Skip to Main Content

Database Software

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

OUTER JOIN with XMLTABLE

Yellow75Aug 9 2017 — edited Aug 22 2017

Hi,

on

Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

PL/SQL Release 11.2.0.3.0 - Production

"CORE 11.2.0.3.0 Production"

TNS for IBM/AIX RISC System/6000: Version 11.2.0.3.0 - Production

NLSRTL Version 11.2.0.3.0 - Production

I created a view on a table with an XMLTYPE as column; the view is working, but it takes a lot to return results:

CREATE OR REPLACE FORCE VIEW "VW_FATT_TRASP_CONN_NEW" ("TCODICEFLUSSO", "TCODICETIPOFATTURA", "TIPOLOGIA_FATTURA", "TNUMEROSEQUENZA", "TDATAEMISSIONEFATTURA", "TDATASCADENZAFATTURA", "TRAGIONESOCIALEMITTENTE", "TPARTITAIVAMITTENTE", "TINDIRIZZOMITTENTE", "TCAPMITTENTE", "TLOCALITAMITTENTE", "TPROVINCIAMITTENTE", "TNAZIONEMITTENTE", "TIBANMITTENTE", "TRAGIONESOCIALEDESTINATARIO", "TPARTITAIVADESTINATARIO", "TINDIRIZZODESTINATARIO", "TCAPDESTINATARIO", "TLOCALITADESTINATARIO", "TPROVINCIADESTINATARIO", "TNAZIONEDESTINATARIO", "TCONTRATTODISPACCIAMENTO", "FNUMEROFATTURA", "FPERIODOCOMPETENZADA", "FPERIODOCOMPETENZAA", "FCODICEVOCEFATTURATA", "FTOTALEIMPONIBILEFATTURA", "FTOTALEIVAFATTURA", "FTOTALEFATTURA", "FIMPORTOBOLLO", "NOTEFATTURA", "RTIPOLOGIACONTRATTUALE", "RCODICEMOTIVAZIONE", "RCORRINDEPREST", "RNUMEROPOD", "RTOTTARDISTQTFISSA", "RTOTTARDISTQTPOTENZA", "RTOTTARDISTENATTIVA", "RTOTTARDISTENREATTIVA", "RTOTONGENULTCOMQTFISSA", "RTOTONGENULTCOMQTPOTENZA", "RTOTONGENULTCOMENATTIVA", "RTOTALEQUOTAFISSA", "RTOTALEQUOTAPOTENZA", "RTOTALEENERGIAATTIVA", "RTOTALEENERGIAREATTIVA", "RTOTALEGENERALE", "RALIQUOTAIVA", "RIMPONIBILEIVA", "RIMPORTOIVA", "DCODICEPOD", "DDTTENSIONE", "DDTPOTENZAIMPEGNATA", "DDTPOTENZADISPONIBILE", "DDCTIPOLOGIACONTRATTUALE", "DDCTARIFFADISTRIBUZIONE", "DDCPRODUTTORIPURIPERIZIA", "DDCFORNITURAENERGIVORA", "DIDCALCOLO", "DDATICLIENTE", "DCOMPONENTE", "DCTSANNO", "DCTSPROGRESSIVO", "DPERIODOCOMPETENZADA", "DPERIODOCOMPETENZAA", "DSCAGLIONE", "DQUANTITA", "DCORRISPETTIVOUNITARIO", "DCODICEIVA", "DIMPORTO", "NOME_FILE") AS

  SELECT

TB_TESTATA_FLUSSO.TCodiceFlusso,

TB_TESTATA_FLUSSO.TCodiceTipoFattura,

CASE

WHEN TB_TESTATA_FLUSSO.TCodiceTipoFattura IN ('C', 'R') THEN 'TRASPORTO'

WHEN TB_TESTATA_FLUSSO.TCodiceTipoFattura = 'U'  THEN 'CONNESSIONE'

ELSE 'NON DEFINITO'

END AS TIPOLOGIA_FATTURA,

TB_TESTATA_FLUSSO.TNumeroSequenza,

TB_TESTATA_FLUSSO.TDataEmissioneFattura,

TB_TESTATA_FLUSSO.TDataScadenzaFattura,

TB_TESTATA_FLUSSO.TRagioneSocialeMittente,

TB_TESTATA_FLUSSO.TPartitaIVAMittente,

TB_TESTATA_FLUSSO.TIndirizzoMittente,

TB_TESTATA_FLUSSO.TCAPMittente,

TB_TESTATA_FLUSSO.TLocalitaMittente,

TB_TESTATA_FLUSSO.TProvinciaMittente,

TB_TESTATA_FLUSSO.TNazioneMittente,

TB_TESTATA_FLUSSO.TIBANMittente,

TB_TESTATA_FLUSSO.TRagioneSocialeDestinatario,

TB_TESTATA_FLUSSO.TPartitaIVADestinatario,

TB_TESTATA_FLUSSO.TIndirizzoDestinatario,

TB_TESTATA_FLUSSO.TCAPDestinatario,

TB_TESTATA_FLUSSO.TLocalitaDestinatario,

TB_TESTATA_FLUSSO.TProvinciaDestinatario,

TB_TESTATA_FLUSSO.TNazioneDestinatario,

TB_TESTATA_FLUSSO.TContrattoDispacciamento,

--TB_TCodiceFlusso.TCodiceFlusso,

TB_FATTURE.FNumeroFattura,

TB_TESTATA_FATTURA.FPeriodoCompetenzaDa,

TB_TESTATA_FATTURA.FPeriodoCompetenzaA,

TB_TESTATA_FATTURA.FCodiceVoceFatturata,

TO_NUMBER(REPLACE(TB_TESTATA_FATTURA.FTotaleImponibileFattura,'.',',')) AS FTotaleImponibileFattura,

TO_NUMBER(REPLACE(TB_TESTATA_FATTURA.FTotaleIVAFattura,'.',',')) AS FTotaleIVAFattura,

TO_NUMBER(REPLACE(TB_TESTATA_FATTURA.FTotaleFattura,'.',',')) AS FTotaleFattura,

TO_NUMBER(REPLACE(TB_TESTATA_FATTURA.FImportoBollo,'.',',')) AS FImportoBollo,

TB_RIEPILOGO_FATTURA.NoteFattura,

TB_RIEPILOGO_VALORI.RTipologiaContrattuale,

TB_RIEPILOGO_VALORI.RCodiceMotivazione,

TB_RIEPILOGO_VALORI.RCorrIndePrest,

TB_RIEPILOGO_VALORI.RNumeroPod,

TO_NUMBER(REPLACE(TB_RIEPILOGO_VALORI.RTotTarDistQtFissa,'.',',')) AS RTotTarDistQtFissa,

TO_NUMBER(REPLACE(TB_RIEPILOGO_VALORI.RTotTarDistQtPotenza,'.',',')) AS RTotTarDistQtPotenza,

TO_NUMBER(REPLACE(TB_RIEPILOGO_VALORI.RTotTarDistEnAttiva,'.',',')) AS RTotTarDistEnAttiva,

TO_NUMBER(REPLACE(TB_RIEPILOGO_VALORI.RTotTarDistEnReattiva,'.',',')) AS RTotTarDistEnReattiva,

TO_NUMBER(REPLACE(TB_RIEPILOGO_VALORI.RTotOnGenUltComQtFissa,'.',',')) AS RTotOnGenUltComQtFissa,

TO_NUMBER(REPLACE(TB_RIEPILOGO_VALORI.RTotOnGenUltComQtPotenza,'.',',')) AS RTotOnGenUltComQtPotenza,

TO_NUMBER(REPLACE(TB_RIEPILOGO_VALORI.RTotOnGenUltComEnAttiva,'.',',')) AS RTotOnGenUltComEnAttiva,

TO_NUMBER(REPLACE(TB_RIEPILOGO_VALORI.RTotaleQuotaFissa,'.',',')) AS RTotaleQuotaFissa,

TO_NUMBER(REPLACE(TB_RIEPILOGO_VALORI.RTotaleQuotaPotenza,'.',',')) AS RTotaleQuotaPotenza,

TO_NUMBER(REPLACE(TB_RIEPILOGO_VALORI.RTotaleEnergiaAttiva,'.',',')) AS RTotaleEnergiaAttiva,

TO_NUMBER(REPLACE(TB_RIEPILOGO_VALORI.RTotaleEnergiaReattiva,'.',',')) AS RTotaleEnergiaReattiva,

TO_NUMBER(REPLACE(TB_RIEPILOGO_VALORI.RTotaleGenerale,'.',',')) AS RTotaleGenerale,

TB_RIEPILOGO_IVA.TB_RIEPILOGO_IVA.RAliquotaIVA,

TO_NUMBER(REPLACE(TB_RIEPILOGO_IVA.RImponibileIVA,'.',',')) AS RImponibileIVA,

TO_NUMBER(REPLACE(TB_RIEPILOGO_IVA.RImportoIVA,'.',',')) AS RImportoIVA,

TB_DETTAGLIO_POD.DCodicePod,

TB_DATI_TECNICI_COMM.DDTTensione,

TO_NUMBER(REPLACE(TB_DATI_TECNICI_COMM.DDTPotenzaImpegnata,'.',',')) AS DDTPotenzaImpegnata,

TO_NUMBER(REPLACE(TB_DATI_TECNICI_COMM.DDTPotenzaDisponibile,'.',',')) AS DDTPotenzaDisponibile,

TB_DATI_TECNICI_COMM.DDCTipologiaContrattuale,

TB_DATI_TECNICI_COMM.DDCTariffaDistribuzione,

TB_DATI_TECNICI_COMM.DDCProduttoriPuriPerizia,

TB_DATI_TECNICI_COMM.DDCFornituraEnergivora,

TB_CORRISPETTIVI.DIDCalcolo,

TB_CORRISPETTIVI.DDatiCliente,

TB_CORRISPETTIVI.DComponente,

TB_CORRISPETTIVI.DCTSAnno,

TB_CORRISPETTIVI.DCTSProgressivo,

TB_CORRISPETTIVI.DPeriodoCompetenzaDa,

TB_CORRISPETTIVI.DPeriodoCompetenzaA,

TB_CORRISPETTIVI.DScaglione,

TO_NUMBER(REPLACE(TB_CORRISPETTIVI.DQuantita,'.',',')) AS DQuantita,

TO_NUMBER(REPLACE(TB_CORRISPETTIVI.DCorrispettivoUnitario,'.',',')) AS DCorrispettivoUnitario,

TB_CORRISPETTIVI.DCodiceIVA,

TO_NUMBER(REPLACE(TB_CORRISPETTIVI.DImporto,'.',',')) AS DImporto,

MS525.NOME_FILE

FROM MS525_FILE_XML MS525 LEFT JOIN

XMLTABLE('FlussoFattureTrasporto'

         PASSING MS525.XML_DATI

         COLUMNS

           TCodiceFlusso VARCHAR2(10) PATH 'TestataFlusso/TCodiceFlusso',

           TCodiceTipoFattura VARCHAR2(10) PATH 'TestataFlusso/TCodiceTipoFattura',

           TNumeroSequenza VARCHAR2(10) PATH 'TestataFlusso/TNumeroSequenza',

           TDataEmissioneFattura VARCHAR2(10) PATH 'TestataFlusso/TDataEmissioneFattura',

           TDataScadenzaFattura VARCHAR2(10) PATH 'TestataFlusso/TDataScadenzaFattura',

           TRagioneSocialeMittente VARCHAR2(100) PATH 'TestataFlusso/TRagioneSocialeMittente',

           TPartitaIVAMittente VARCHAR2(50) PATH 'TestataFlusso/TPartitaIVAMittente',

           TIndirizzoMittente VARCHAR2(100) PATH 'TestataFlusso/TIndirizzoMittente',

           TCAPMittente VARCHAR2(10) PATH 'TestataFlusso/TCAPMittente',

           TLocalitaMittente VARCHAR2(100) PATH 'TestataFlusso/TLocalitaMittente',

           TProvinciaMittente VARCHAR2(10) PATH 'TestataFlusso/TProvinciaMittente',

           TNazioneMittente VARCHAR2(20) PATH 'TestataFlusso/TNazioneMittente',

           TIBANMittente VARCHAR2(50) PATH 'TestataFlusso/TIBANMittente',

           TRagioneSocialeDestinatario VARCHAR2(100) PATH 'TestataFlusso/TRagioneSocialeDestinatario',

           TPartitaIVADestinatario VARCHAR2(50) PATH 'TestataFlusso/TPartitaIVADestinatario',

           TIndirizzoDestinatario VARCHAR2(100) PATH 'TestataFlusso/TIndirizzoDestinatario',

           TCAPDestinatario VARCHAR2(10) PATH 'TestataFlusso/TCAPDestinatario',

           TLocalitaDestinatario VARCHAR2(100) PATH 'TestataFlusso/TLocalitaDestinatario',

           TProvinciaDestinatario VARCHAR2(10) PATH 'TestataFlusso/TProvinciaDestinatario',

           TNazioneDestinatario VARCHAR2(20) PATH 'TestataFlusso/TNazioneDestinatario',

           TContrattoDispacciamento VARCHAR2(10) PATH 'TestataFlusso/TContrattoDispacciamento',

           NODO_FLUSSO_FATT XMLTYPE path 'TestataFlusso',

           NODO_FATTURE  XMLTYPE path 'Fatture') TB_TESTATA_FLUSSO ON 1=1 LEFT JOIN

XMLTABLE('/TestataFlusso'

         PASSING TB_TESTATA_FLUSSO.NODO_FLUSSO_FATT

         COLUMNS

           TCodiceFlusso VARCHAR2(20) PATH 'TCodiceFlusso'

           ) TB_TCodiceFlusso ON 1=1 LEFT JOIN

XMLTABLE('/Fatture'

         PASSING TB_TESTATA_FLUSSO.NODO_FATTURE

         COLUMNS

           FNumeroFattura VARCHAR2(20) PATH 'FNumeroFattura',

           NODO_TESTATA_FATT XMLTYPE PATH 'TestataFattura',

           NODO_RIEPILOGO_FATT XMLTYPE PATH 'RiepilogoFattura',

           NODO_DETTAGLIO_POD XMLTYPE PATH 'DettaglioPOD'

           ) TB_FATTURE ON 1=1 LEFT JOIN

XMLTABLE('/TestataFattura'

         PASSING TB_FATTURE.NODO_TESTATA_FATT

         COLUMNS

           FPeriodoCompetenzaDa VARCHAR2(20) PATH 'FPeriodoCompetenzaDa',

           FPeriodoCompetenzaA VARCHAR2(20) PATH 'FPeriodoCompetenzaA',

  FCodiceVoceFatturata VARCHAR2(20) PATH 'FCodiceVoceFatturata',

           FTotaleImponibileFattura VARCHAR2(20) PATH 'FTotaleImponibileFattura',

           FTotaleIVAFattura VARCHAR2(20) PATH 'FTotaleIVAFattura',

           FTotaleFattura VARCHAR2(20) PATH 'FTotaleFattura',

  FImportoBollo VARCHAR2(20) PATH 'FImportoBollo'

           ) TB_TESTATA_FATTURA ON 1=1 LEFT JOIN

/*

--Modificata con loop perche' il tag <NoteFattura> puo' comparire piu' di una volta!!!

XMLTABLE('/RiepilogoFattura'

         PASSING TB_FATTURE.NODO_RIEPILOGO_FATT

         COLUMNS

           NoteFattura VARCHAR2(1000) PATH 'NoteFattura',

           NODO_RIEPILOGO_VALORI XMLTYPE PATH 'RiepilogoValori',

           NODO_RIEPILOGO_IVA XMLTYPE PATH 'RiepilogoIVA'

           ) TB_RIEPILOGO_FATTURA ON 1=1 LEFT JOIN

*/

XMLTABLE('for $i in $XTYPE_NODO_RIEPILOGO_FATT/RiepilogoFattura

              return element result {

                for $j at $pos in $i

                  return element row {

                     $i/NoteFattura[$pos],

                     $i/RiepilogoValori,

                     $i/RiepilogoIVA

                     }

                }/row

             '

            PASSING TB_FATTURE.NODO_RIEPILOGO_FATT as XTYPE_NODO_RIEPILOGO_FATT

             COLUMNS

              NoteFattura VARCHAR2(1000) PATH 'NoteFattura',

              NODO_RIEPILOGO_VALORI XMLTYPE PATH 'RiepilogoValori',

              NODO_RIEPILOGO_IVA XMLTYPE PATH 'RiepilogoIVA'

) TB_RIEPILOGO_FATTURA ON 1=1 LEFT JOIN

XMLTABLE('/RiepilogoValori'

         PASSING TB_RIEPILOGO_FATTURA.NODO_RIEPILOGO_VALORI

         COLUMNS

           RTipologiaContrattuale VARCHAR2(20) PATH 'RTipologiaContrattuale',

  RCodiceMotivazione VARCHAR2(20) PATH 'RCodiceMotivazione',

  RCorrIndePrest VARCHAR2(20) PATH 'RCorrIndePrest',

           RNumeroPod VARCHAR2(20) PATH 'RNumeroPod',

           RTotTarDistQtFissa VARCHAR2(20) PATH 'RTotTarDistQtFissa',

           RTotTarDistQtPotenza VARCHAR2(20) PATH 'RTotTarDistQtPotenza',

           RTotTarDistEnAttiva VARCHAR2(20) PATH 'RTotTarDistEnAttiva',

           RTotTarDistEnReattiva VARCHAR2(20) PATH 'RTotTarDistEnReattiva',

           RTotOnGenUltComQtFissa VARCHAR2(20) PATH 'RTotOnGenUltComQtFissa',

           RTotOnGenUltComQtPotenza VARCHAR2(20) PATH 'RTotOnGenUltComQtPotenza',

           RTotOnGenUltComEnAttiva VARCHAR2(20) PATH 'RTotOnGenUltComEnAttiva',

           RTotaleQuotaFissa VARCHAR2(20) PATH 'RTotaleQuotaFissa',

           RTotaleQuotaPotenza VARCHAR2(20) PATH 'RTotaleQuotaPotenza',

           RTotaleEnergiaAttiva VARCHAR2(20) PATH 'RTotaleEnergiaAttiva',

           RTotaleEnergiaReattiva VARCHAR2(20) PATH 'RTotaleEnergiaReattiva',

           RTotaleGenerale VARCHAR2(20) PATH 'RTotaleGenerale'

           ) TB_RIEPILOGO_VALORI ON 1=1 LEFT JOIN

XMLTABLE('/RiepilogoIVA'

         PASSING TB_RIEPILOGO_FATTURA.NODO_RIEPILOGO_IVA

         COLUMNS

           RAliquotaIVA VARCHAR2(5) PATH 'RAliquotaIVA',

           RImponibileIVA VARCHAR2(20) PATH 'RImponibileIVA',

           RImportoIVA VARCHAR2(20) PATH 'RImportoIVA'

           ) TB_RIEPILOGO_IVA ON 1=1 LEFT JOIN

XMLTABLE('/DettaglioPOD'

         PASSING TB_FATTURE.NODO_DETTAGLIO_POD

         COLUMNS

           DCodicePod VARCHAR2(1000) PATH 'DCodicePod',

           DATI_TECNICI_COMMERCIALI XMLTYPE PATH 'DatiTecniciCommerciali',

           CORRISPETTIVI XMLTYPE PATH 'Corrispettivi'

           ) TB_DETTAGLIO_POD ON 1=1 LEFT JOIN

XMLTABLE('/DatiTecniciCommerciali'

         PASSING TB_DETTAGLIO_POD.DATI_TECNICI_COMMERCIALI

         COLUMNS

           DDTTensione VARCHAR2(1000) PATH 'DDTTensione',

           DDTPotenzaImpegnata VARCHAR2(20) PATH 'DDTPotenzaImpegnata',

           DDTPotenzaDisponibile VARCHAR2(20) PATH 'DDTPotenzaDisponibile',

           DDCTipologiaContrattuale VARCHAR2(20) PATH 'DDCTipologiaContrattuale',

           DDCTariffaDistribuzione VARCHAR2(10) PATH 'DDCTariffaDistribuzione',

           DDCProduttoriPuriPerizia VARCHAR2(10) PATH 'DDCProduttoriPuriPerizia',

           DDCFornituraEnergivora VARCHAR2(10) PATH 'DDCFornituraEnergivora'

           ) TB_DATI_TECNICI_COMM ON 1=1 LEFT JOIN

XMLTABLE('/Corrispettivi'

         PASSING TB_DETTAGLIO_POD.CORRISPETTIVI

         COLUMNS

          DIDCalcolo VARCHAR2(20) PATH 'DIDCalcolo',

DDatiCliente VARCHAR2(20) PATH 'DDatiCliente',

          DComponente VARCHAR2(20) PATH 'DComponente',

DCTSAnno VARCHAR2(20) PATH 'DCTSAnno',

DCTSProgressivo VARCHAR2(20) PATH 'DCTSProgressivo',

          DPeriodoCompetenzaDa VARCHAR2(10) PATH 'DPeriodoCompetenzaDa',

          DPeriodoCompetenzaA VARCHAR2(10) PATH 'DPeriodoCompetenzaA',

          DScaglione VARCHAR2(10) PATH 'DScaglione',

          DQuantita VARCHAR2(10) PATH 'DQuantita',

          DCorrispettivoUnitario VARCHAR2(10) PATH 'DCorrispettivoUnitario',

          DCodiceIVA VARCHAR2(10) PATH 'DCodiceIVA',

          DImporto VARCHAR2(20) PATH 'DImporto'

           ) TB_CORRISPETTIVI ON 1=1;

On a 10 MB file, the viwe takes more than two hours to return the recordset.

Here the DDL of the MS525_FILE_XML table:

CREATE TABLE MS525_FILE_XML

( NOME_FILE VARCHAR2(200 BYTE),

    XML_DATI XMLTYPE,

    ESITO_OPERAZIONE NUMBER(*,0) DEFAULT 0,

    DATA_ORA_INSERT TIMESTAMP (6) DEFAULT SYSTIMESTAMP,

    FLAG_IN_ESECUZIONE NUMBER(*,0) DEFAULT 0,

CONSTRAINT PK_MS525 PRIMARY KEY (NOME_FILE, DATA_ORA_INSERT)

);

Here is the execution plan:

Plan hash value: 2500968592

----------------------------------------------------------------------------------------------------------------------

| Id  | Operation                                   | Name                   | Rows  | Bytes | Cost (%CPU)| Time     |

----------------------------------------------------------------------------------------------------------------------

|   0 | SELECT STATEMENT                            |                        |    18E|    15E|    18E  (0)|999:59:59 |

|   1 |  SORT AGGREGATE                             |                        |     1 |     4 |            |          |

|*  2 |   COLLECTION ITERATOR PICKLER FETCH         | XMLSEQUENCEFROMXMLTYPE |    82 |   328 |    30   (4)| 00:00:01 |

|   3 |  SORT AGGREGATE                             |                        |     1 |     2 |            |          |

|   4 |   COLLECTION ITERATOR PICKLER FETCH         | XMLSEQUENCEFROMXMLTYPE |  8168 | 16336 |    29   (0)| 00:00:01 |

|   5 |  NESTED LOOPS OUTER                         |                        |    18E|    15E|    18E  (0)|999:59:59 |

|   6 |   NESTED LOOPS OUTER                        |                        |    18E|    15E|    18E  (0)|999:59:59 |

|   7 |    NESTED LOOPS OUTER                       |                        |  2425P|    15E|  8681T  (1)|999:59:59 |

|   8 |     NESTED LOOPS OUTER                      |                        |   296T|   961P|  1062G  (1)|999:59:59 |

|   9 |      NESTED LOOPS OUTER                     |                        |    36G|   119T|   130M  (1)|433:45:23 |

|  10 |       NESTED LOOPS OUTER                    |                        |  4451K|    14G| 16021   (1)| 00:03:13 |

|  11 |        NESTED LOOPS OUTER                   |                        |   545 |  1520K|    90   (2)| 00:00:02 |

|  12 |         NESTED LOOPS OUTER                  |                        |     1 |  2773 |    60   (0)| 00:00:01 |

|  13 |          NESTED LOOPS OUTER                 |                        |     1 |  2659 |    31   (0)| 00:00:01 |

|  14 |           NESTED LOOPS OUTER                |                        |     1 |  2659 |     2   (0)| 00:00:01 |

|  15 |            TABLE ACCESS BY INDEX ROWID      | MS525_FILE_XML         |     1 |  2104 |     0   (0)| 00:00:01 |

|* 16 |             INDEX RANGE SCAN                | PK_MS525               |     1 |       |     0   (0)| 00:00:01 |

|  17 |            VIEW                             |                        |     1 |   555 |     2   (0)| 00:00:01 |

|* 18 |             FILTER                          |                        |       |       |            |          |

|  19 |              FAST DUAL                      |                        |     1 |       |     2   (0)| 00:00:01 |

|  20 |           VIEW                              |                        |  8168 |       |    29   (0)| 00:00:01 |

|  21 |            COLLECTION ITERATOR PICKLER FETCH| XMLSEQUENCEFROMXMLTYPE |  8168 | 16336 |    29   (0)| 00:00:01 |

|  22 |          VIEW                               |                        |  8168 |   909K|    29   (0)| 00:00:01 |

|  23 |           COLLECTION ITERATOR PICKLER FETCH | XMLSEQUENCEFROMXMLTYPE |  8168 | 16336 |    29   (0)| 00:00:01 |

|  24 |         VIEW                                |                        |  8168 |   670K|    29   (0)| 00:00:01 |

|  25 |          COLLECTION ITERATOR PICKLER FETCH  | XMLSEQUENCEFROMXMLTYPE |  8168 | 16336 |    29   (0)| 00:00:01 |

|  26 |        VIEW                                 |                        |  8168 |  4546K|    29   (0)| 00:00:01 |

|  27 |         COLLECTION ITERATOR PICKLER FETCH   | XMLSEQUENCEFROMXMLTYPE |  8168 | 16336 |    29   (0)| 00:00:01 |

|  28 |       VIEW                                  |                        |  8168 |  1531K|    29   (0)| 00:00:01 |

|  29 |        COLLECTION ITERATOR PICKLER FETCH    | XMLSEQUENCEFROMXMLTYPE |  8168 | 16336 |    29   (0)| 00:00:01 |

|  30 |      VIEW                                   |                        |  8168 |   223K|    29   (0)| 00:00:01 |

|  31 |       COLLECTION ITERATOR PICKLER FETCH     | XMLSEQUENCEFROMXMLTYPE |  8168 | 16336 |    29   (0)| 00:00:01 |

|  32 |     VIEW                                    |                        |  8168 |  4546K|    29   (0)| 00:00:01 |

|  33 |      COLLECTION ITERATOR PICKLER FETCH      | XMLSEQUENCEFROMXMLTYPE |  8168 | 16336 |    29   (0)| 00:00:01 |

|  34 |    VIEW                                     |                        |  8168 |  4458K|    29   (0)| 00:00:01 |

|  35 |     COLLECTION ITERATOR PICKLER FETCH       | XMLSEQUENCEFROMXMLTYPE |  8168 | 16336 |    29   (0)| 00:00:01 |

|  36 |   VIEW                                      |                        |  8168 |   909K|    29   (0)| 00:00:01 |

|  37 |    COLLECTION ITERATOR PICKLER FETCH        | XMLSEQUENCEFROMXMLTYPE |  8168 | 16336 |    29   (0)| 00:00:01 |

----------------------------------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):

---------------------------------------------------

   2 - filter(SYS_XQFNPREDTRUTH(:B1,VALUE(KOKBF$) /* KOKBI$ */ )=1)

  16 - access("MS525"."NOME_FILE"='05779711000_02968430237_DP0114_FTR_C_20170803_001_E.xml')

  18 - filter(EXISTSNODE(SYS_MAKEXML(0,"MS525"."SYS_NC00003$"),'/FlussoFattureTrasporto')=1)

This post has been answered by odie_63 on Aug 20 2017
Jump to Answer
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Sep 19 2017
Added on Aug 9 2017
5 comments
2,760 views