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

Administration Oracle Discussion :

Force le hash join avec index


Sujet :

Administration Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de LBO72
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Par défaut Force le hash join avec index
    Bonjour,

    Je suis en Oralce 10HR2. Je voulais savoir si avec les hint, j'arriverai à changer le Nested loop ci-dessous en HASH JOIN, mais en le laissant le 'INDEX RANG SCAN'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    PLAN_TABLE_OUTPUT
    ----------------------------------------------------------------------------------------------------
    
    --------------------------------------------------------------------------------
    | Id  | Operation                   | Name             | Rows  | Bytes | Cost  |
    --------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT            |                  |     1 |   187 |  1733K|
    |   1 |  TABLE ACCESS BY INDEX ROWID| P_CLIENT         |     1 |    29 |     2 |
    |   2 |   NESTED LOOPS              |                  |     1 |   187 |  1733K|
    |   3 |    HASH JOIN                |                  | 28250 |  4358K|  1676K|
    |   4 |     HASH JOIN               |                  | 10092 |  1084K| 41448 |
    |   5 |      TABLE ACCESS FULL      | CONTRAT          |  9055 |   663K|   135 |
    |   6 |      TABLE ACCESS FULL      | H_RELAIES        |  2597K|    86M| 41191 |
    |   7 |     TABLE ACCESS FULL       | H_SINISTRE       |    20M|   919M|  1634K|
    |   8 |    INDEX RANGE SCAN         | I_COMMUNE        |     1 |       |     1 |
    --------------------------------------------------------------------------------
    En vous remerciant

  2. #2
    Membre éclairé Avatar de LBO72
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Par défaut
    Oups, sorry :-) Oracle 10GR2

  3. #3
    Membre expérimenté
    Inscrit en
    Mars 2010
    Messages
    205
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 205
    Par défaut
    Je dirais a priori non, si tu fais un hash join on va avoir des FTS, ou à la rigueur des index FFS. Mais passer par un index n'est pas forcément plus rapide, faut voir la requête et les stats...

  4. #4
    Membre expérimenté
    Inscrit en
    Janvier 2010
    Messages
    135
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 135
    Par défaut
    > si tu fais un hash join on va avoir des FTS, ou à la rigueur des index FFS.

    Actually, that's not true. A hash join does not necessarily force a FTS or index FFS.

    LBO72, the highest cost increase occurs on line 7. Can you have some kind of index on H_SINISTRE to make it join to either H_RELAIES or CONTRAT?

Discussions similaires

  1. Reconstruction d'une table avec index
    Par Ry_Yo dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 22/04/2005, 09h12
  2. Réponses: 5
    Dernier message: 19/11/2004, 19h16
  3. LEFT JOIN avec Oracle 8i ne va pas... doit utiliser (+)
    Par loikiloik dans le forum Langage SQL
    Réponses: 10
    Dernier message: 21/04/2004, 16h38
  4. Création de table avec index
    Par Seb7 dans le forum Requêtes
    Réponses: 2
    Dernier message: 10/04/2003, 16h11

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