IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Oracle Discussion :

Temps de reponse


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2004
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 28
    Par défaut Temps de reponse
    j'ai la requete suivante qui a une reponse rapide :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     SELECT   W_PALLET_MOVEMENT.FGT_NUMBER
      FROm W_PALLET_MOVEMENT,W_PALLET_DETAIL_MOVEMENT 
       WHERE( W_PALLET_MOVEMENT.PLMV_ID=W_PALLET_DETAIL_MOVEMENT.PLMV_ID (+) and 
     W_PALLET_MOVEMENT.MOVEMENT_OWNER=W_PALLET_DETAIL_MOVEMENT.PDMV_OWNER (+)  )
      AND  ( ( W_PALLET_DETAIL_MOVEMENT.FGT_NUMBER  = '132296650' ) ) ;
    j'ai une deuxième requète tout aussi rapide :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     SELECT   W_PALLET_MOVEMENT.FGT_NUMBER
      FROm W_PALLET_MOVEMENT,W_PALLET_DETAIL_MOVEMENT 
       WHERE( W_PALLET_MOVEMENT.PLMV_ID=W_PALLET_DETAIL_MOVEMENT.PLMV_ID (+) and 
     W_PALLET_MOVEMENT.MOVEMENT_OWNER=W_PALLET_DETAIL_MOVEMENT.PDMV_OWNER (+)  )
      AND  ( ( W_PALLET_DETAIL_MOVEMENT.erp_serial_number  = '132296650' ) ) ;
    Lorsque je reunis les deux requètes par 'un or' sur la condition et que j'active celle-ci je génère trop d'extent pour mon fichier temp
    sachant que j'ai un index sur chacun des champs de ma condition
    quelqu'un pourrait-il m'expliquer .

    Edit par bouyao :

  2. #2
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Par défaut
    et si tu donnais la derniére requête et les explains plans ?

  3. #3
    Membre averti
    Inscrit en
    Février 2004
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 28
    Par défaut
    Voici la requête :
    SELECT w_pallet_movement.fgt_number
    FROM w_pallet_movement, w_pallet_detail_movement
    WHERE w_pallet_movement.plmv_id = w_pallet_detail_movement.plmv_id (+)
    AND w_pallet_movement.movement_owner =
    w_pallet_detail_movement.pdmv_owner (+)
    AND (w_pallet_detail_movement.fgt_number = '132296650'
    OR w_pallet_detail_movement.erp_serial_number = '132296650')

    et le plan :

    5[IMG]file:///C:/oracle/ora92/sysman/report/nio197_970652109/1_1.gif[/IMG]SELECT STATEMENT4[IMG]file:///C:/oracle/ora92/sysman/report/nio197_970652109/1_2.gif[/IMG][IMG]file:///C:/oracle/ora92/sysman/report/nio197_970652109/1_3.gif[/IMG]FILTER3[IMG]file:///C:/oracle/ora92/sysman/report/nio197_970652109/1_5.gif[/IMG][IMG]file:///C:/oracle/ora92/sysman/report/nio197_970652109/1_4.gif[/IMG][IMG]file:///C:/oracle/ora92/sysman/report/nio197_970652109/1_6.gif[/IMG]HASH JOIN [OUTER]1[IMG]file:///C:/oracle/ora92/sysman/report/nio197_970652109/1_5.gif[/IMG][IMG]file:///C:/oracle/ora92/sysman/report/nio197_970652109/1_5.gif[/IMG][IMG]file:///C:/oracle/ora92/sysman/report/nio197_970652109/1_7.gif[/IMG][IMG]file:///C:/oracle/ora92/sysman/report/nio197_970652109/1_8.gif[/IMG]WESCRE.W_PALLET_MOVEMENT TABLE ACCESS [FULL]2[IMG]file:///C:/oracle/ora92/sysman/report/nio197_970652109/1_5.gif[/IMG][IMG]file:///C:/oracle/ora92/sysman/report/nio197_970652109/1_5.gif[/IMG][IMG]file:///C:/oracle/ora92/sysman/report/nio197_970652109/1_9.gif[/IMG][IMG]file:///C:/oracle/ora92/sysman/report/nio197_970652109/1_8.gif[/IMG]WESCRE.W_PALLET_DETAIL_MOVEMENT TABLE ACCESS [FULL]

  4. #4
    Membre Expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Par défaut
    Pouvez-vous fournir un explain plan lisible sans les images ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    explain plan for ...
    select * from table (dbms_xplan.display);

  5. #5
    Membre averti
    Inscrit en
    Février 2004
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 28
    Par défaut
    excuse moi , voici l'explain du premier select avec une seule condition :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     PLAN_TABLE_OUTPUT
    ----------------------
    | Id  | Operation              |  Name                 | Rows  | Bytes | Cost  |
    ----------------------------------------------------------------------
    | 0 | SELECT STATEMENT    |                        |    11 |   396 |    33 |
    | 1 |  NESTED LOOPS          |                        |    11 |   396 |    33 |
    | 2 |   TABLE ACCESS BY INDEX ROWID|W_PALLET_DETAIL_MOVEMENT     |    11 |   198 |    11 |
    | 3 |    INDEX RANGE SCAN  | W_PALLET_DETAIL_MOVEMENT_I3 |11| |3 |
    | 4 |   TABLE ACCESS BY INDEX ROWID| W_PALLET_MOVEMENT  |1|18|2|
    | 5 |    INDEX UNIQUE SCAN | W_PALLET_MOVEMENTC1             |1 |  |1|
    ---------------------------------------------------------------------------------------------
    Note: cpu costing is off, 'plan_table' is old version
    Voici l'explain avec la condition OR :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     -----------------------------------------------------------------------
    | Id  | Operation            |  Name                     | Rows  | Bytes | Cost  |
    -----------------------------------------------------------------------
    |0 | SELECT STATEMENT     |                           | 18M|   980M| 81444 |
    |1 |  FILTER                      |                           |       |       |       |
    |2 |   HASH JOIN OUTER     |                           |       |       |       |
    |3 |   TABLE ACCESS FULL  |W_PALLET_MOVEMENT|  8223K|141M|14498|
    |4 |    TABLE ACCESS FULL | W_PALLET_DETAIL_MOVEMENT|18M|670M|35873 |
    ----------------------------------------------------------------------------------
    Note: cpu costing is off, 'plan_table' is old version
    j'ai un index sur W_PALLET_MOVEMENT et un sur W_PALLET_DETAIL_MOVEMENT

  6. #6
    Membre Expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Par défaut
    C'est clair : une seule clause et vous manipulez 396 octets grâce aux indexes.

    Avec le OR, il n'y a plus d'indexes appropriés donc vous parcourez toutes les tables intégralement, soit 980 Mo manipulés...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. nvl et temps de reponse
    Par yrogerg_d dans le forum SQL
    Réponses: 20
    Dernier message: 09/11/2006, 14h54
  2. [XPath] meilleur API au niveau du temps de reponse
    Par Mouss99 dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 05/09/2006, 17h58
  3. temps de reponse d'une requetes ?
    Par Melvine dans le forum Oracle
    Réponses: 1
    Dernier message: 27/03/2006, 16h54
  4. Réponses: 4
    Dernier message: 13/03/2006, 17h46
  5. ameliorer le temps de reponse
    Par subzero82 dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 22/08/2005, 12h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo