Oracle Enterprise Manager
Oracle SQL Explain Plan 20 janvier 2011 17:17:32 CET 

Cible :

    INT_FNDB

 

Version: Oracle 10.2.0.1.0

 

Base de données: INT_FNDB

 

Schéma: FNOS2_USR

 

Date: 20 janv. 2011 00:00:00


Instruction SQL:

  
SELECT T0.epoch_id, T1.epoch_id, T2.epoch_id, T0.object_id, T0.u7e_fr_s_lastmodifier, T0.u79_fr_s_uocode, T0.u63_fr_s_operationid, T0.u7b_fr_s_customername, T0.u65_fr_n_businessid, T0.u81_fr_s_linkedvisionreference, T0.u70_fr_t_completiondate, T0.u71_fr_t_donedate, T0.doc_state, T0.u82_fr_n_amount, T0.u83_fr_s_currency, T0.u86_fr_b_priority, T0.u87_fr_b_exceptionalpending, T0.u64_fr_t_validationdate, T0.u6a_fr_t_initiateddate, T0.u90_fr_t_datereference, T0.u8d_fr_b_update, T0.u9b_fr_n_claimtype, T0.u77_fr_n_attachments, T0.uc4_fr_n_attachmentsbo, T0.u78_fr_n_alert, T0.uc3_fr_s_alert, T0.version_status, T0.is_current, T0.is_reserved, T0.object_class_id, T0.security_id, T0.security_folder_id, T1.object_id, T1.object_class_id, T1.security_id, T1.security_folder_id, T2.object_id, T2.object_class_id, T2.security_id, T2.security_folder_id FROM (SELECT * FROM DocVersion WHERE (object_class_id IN (:1, :2, :3) OR object_class_id IS NULL) AND home_id IS NULL) T0 LEFT JOIN (SELECT * FROM Generic WHERE (object_class_id IN (:4) OR object_class_id IS NULL) AND home_id IS NULL) T1 ON T0.u68_refoperationproduct = T1.object_id LEFT JOIN (SELECT * FROM Generic WHERE (object_class_id IN (:5) OR object_class_id IS NULL) AND home_id IS NULL) T2 ON T0.u65_fr_n_businessid = T2.u4f_fr_n_businessid WHERE (( ( T0.doc_state <> :6 AND T0.u80_fr_b_onshore = :7)) AND (( T0.u7b_fr_s_customername <  :8) OR ( T0.u7b_fr_s_customername =  :9 AND (( T0.object_id >  :10 OR  T0.object_id IS NULL) OR ( T0.object_id =  :11 AND (( T1.object_id >  :12 OR  T1.object_id IS NULL) OR ( T1.object_id =  :13 AND (( T2.object_id >  :14 OR  T2.object_id IS NULL))))))))) ORDER BY  T0.u7b_fr_s_customername DESC,  T0.object_id ASC,  T1.object_id ASC,  T2.object_id ASC

Mode d'optimisation utilisé:

  ALL_ROWS

Coût total:

  264 147

Etapes du plan d'exécution:

Etape n°Nom de l'étape
13SELECT STATEMENT
12SORT [ORDER BY]
11FILTER
10NESTED LOOPS [OUTER]
6NESTED LOOPS [OUTER]
2FNOS2_USR.DOCVERSION TABLE ACCESS [BY INDEX ROWID]
1FNOS2_USR.FNR_TRANSITION_IDX INDEX [SKIP SCAN]
5FNOS2_USR. VIEW PUSHED PREDICATE
4FNOS2_USR.GENERIC TABLE ACCESS [BY INDEX ROWID]
3FNOS2_USR.FNR_FR_N_BUSINESSID_GEN_IDX INDEX [RANGE SCAN]
9FNOS2_USR. VIEW PUSHED PREDICATE
8FNOS2_USR.GENERIC TABLE ACCESS [BY INDEX ROWID]
7FNOS2_USR.SYS_C0021128 INDEX [UNIQUE SCAN]

Etape n°DescriptionCoût estiméNombre estimé de lignes renvoyéesNombre estimé de kilo-octets renvoyés
  1   Cette étape du plan balaie l'index FNR_TRANSITION_IDX.4 415219 994--
  2   Cette étape du plan extrait des lignes de la table DOCVERSION via les ROWID renvoyés par un index.51 52742 0115 702,665
  3   Cette étape du plan extrait plusieurs ROWID par ordre croissant en balayant l'index B*-tree FNR_FR_N_BUSINESSID_GEN_IDX.11--
  4   Cette étape du plan extrait des lignes de la table GENERIC via les ROWID renvoyés par un index.2277 36120 856,247
  5   Cette étape du plan représente le plan d'exécution de la sous-interrogation définie par la vue . Certains prédicats de l'instruction ont pu être appliqués à la vue. Ainsi, l'exécution de la vue est plus sélective.210,056
  6   Cette étape du plan joint deux ensembles de lignes par itération de l'ensemble de lignes externe ou maître (premier enfant de la jointure) et, pour chaque ligne, en exécutant les étapes de l'ensemble de lignes interne (second enfant). Les paires de lignes correspondantes sont testées par rapport à la condition de jointure indiquée dans la clause WHERE de l'interrogation. Outre les lignes remplissant cette condition, Oracle renvoie également toutes les lignes de l'ensemble de lignes ne contenant pas l'opérateur de jointure externe (+) ne remplissant pas cette condition.135 64142 0118 041,168
  7   Cette étape du plan extrait un ROWID unique de l'index B*-tree SYS_C0021128.21--
  8   Cette étape du plan extrait des lignes de la table GENERIC via les ROWID renvoyés par un index.310,088
  9   Cette étape du plan représente le plan d'exécution de la sous-interrogation définie par la vue . Certains prédicats de l'instruction ont pu être appliqués à la vue. Ainsi, l'exécution de la vue est plus sélective.310,054
  10   Cette étape du plan joint deux ensembles de lignes par itération de l'ensemble de lignes externe ou maître (premier enfant de la jointure) et, pour chaque ligne, en exécutant les étapes de l'ensemble de lignes interne (second enfant). Les paires de lignes correspondantes sont testées par rapport à la condition de jointure indiquée dans la clause WHERE de l'interrogation. Outre les lignes remplissant cette condition, Oracle renvoie également toutes les lignes de l'ensemble de lignes ne contenant pas l'opérateur de jointure externe (+) ne remplissant pas cette condition.261 86042 01110 297,618
  11   Cette étape du plan accepte un ensemble de lignes depuis son noeud enfant, en supprime certaines et renvoie le reste.
  12   Cette étape du plan accepte un ensemble de lignes de son noeud enfant et le trie par colonne à l'aide de la clause ORDER BY de l'interrogation.264 14742 01110 297,618
  13   Cette étape du plan définit cette instruction comme instruction SELECT.264 14742 01110 297,618