Oracle Enterprise Manager
Oracle SQL Explain Plan 28 juillet 2010 15:51:35 GMT+02:00 

Cible :

    KGTPROD

 

Version: Oracle 9.2.0.8.0

 

Base de données: KGTPROD

 

Schéma: SYS

 

Date: 28 juil. 10 01:00:00


Instruction SQL:

  
SELECT stock.stk_externalid, stock.stk_dossier_ste, stock.stk_dossier_num, 
       stock.stk_dossier_type, stock.stk_dossier_ligne, stock.stk_vtep_dispo, 
       f563301.pllitm, f563301.plitm, f563301.plfy, f563301.plpn, 
       f563301.pl$sres, f563301.pluorg, f563301.plkit, f563301.pl$vtep, 
       f563301.plupmj, f563301.pl$nb1, f563301.pl$nb2, f563301.pl$nb3, 
       f563301.pl$nb4, f563301.pl$nb5, f563301.pl$nb6, f563301.pl$nb7, 
       f563301.pl$nb8, f563301.pl$nb9, f563301.pl$nb10, f564406.rdfy, 
       f564406.rdpn, f564406.rdkit, f564406.rdupmj, 
       date_reference.date_application, stock.stk_date
    FROM yield.stock, kogito_sas.f563301, kogito_sas.f564406, 
         yield.date_reference
    WHERE f564406.rddoc (+) = 0
      AND f563301.plitm = stock.stk_id_reseau
      AND f563301.plfy = stock.stk_annee
      AND f563301.plpn = stock.stk_semaine
      AND f563301.plitm = f564406.rdkit (+)
      AND f563301.plfy = f564406.rdfy (+)
      AND f563301.plpn = f564406.rdpn (+)
      AND stock.stk_date_gene = date_reference.date_application

Mode d'optimisation utilisé:

   COST ALL ROWS (optimisation : CHOOSE)

Coût total:

   306

Etapes du plan d'exécution:

Etape n° Nom de l'étape
9 SELECT STATEMENT
8 NESTED LOOPS [OUTER]
6 NESTED LOOPS
3 HASH JOIN
1 YIELD.DATE_REFERENCE TABLE ACCESS [FULL]
2 YIELD.STOCK TABLE ACCESS [FULL]
5 KOGITO_SAS.F563301 TABLE ACCESS [BY INDEX ROWID]
4 KOGITO_SAS.IDX_F563301 INDEX [RANGE SCAN]
7 KOGITO_SAS.IDX_F564406_4 INDEX [RANGE SCAN]

Etape n° Description Coût estimé Nombre estimé de lignes renvoyées Nombre estimé de kilo-octets renvoyés
  1    Cette étape du plan extrait toutes les lignes de la table DATE_REFERENCE. 2 1 0,005
  2    Cette étape du plan extrait toutes les lignes de la table STOCK. 297 175 993 7 905,936
  3    Cette étape du plan accepte deux ensembles de lignes, chacun d'une table différente. Une table de hachage est construite à l'aide des lignes renvoyées par le premier enfant. Chaque ligne renvoyée par le second enfant est alors utilisée pour sonder la table de hachage à la recherche de paires de lignes remplissant la condition indiquée dans la clause WHERE de l'interrogation. Remarque : l'optimisation Oracle basée sur les coûts construira la table de hachage à l'aide la table qu'il considère comme étant la plus petite. Il utilise les statistiques pour repérer cette table. Des statistiques obsolètes peuvent donc conduire le système à choisir la mauvaise table. 301 1 0,05
  4    Cette étape du plan extrait plusieurs ROWID par ordre croissant en balayant l'index B*-tree IDX_F563301. 2 1 --
  5    Cette étape du plan extrait des lignes de la table F563301 via les ROWID renvoyés par un index. 3 1 0,083
  6    Cette étape du plan joint deux ensembles de lignes par itération de l'ensemble de lignes maître ou externe (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. 304 1 0,133
  7    Cette étape du plan extrait plusieurs ROWID par ordre croissant en balayant l'index B*-tree IDX_F564406_4. 2 1 0,02
  8    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. 306 1 0,152
  9    Cette étape du plan définit cette instruction comme instruction SELECT. 306 -- --