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 :

Différence entre Nested LOOP et Hash Join


Sujet :

Administration Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    750
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 750
    Par défaut Différence entre Nested LOOP et Hash Join
    Bonjour,

    j'aurais voulu connaitre la signification de NESTED LOOP et HASH JOIN dans un plan d'exécution et leur différence.
    Lequel des 2 est plus optimal et pourquoi?

  2. #2
    Membre expérimenté Avatar de Laurent_du_78
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    138
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Juin 2007
    Messages : 138
    Par défaut
    Le béaba du DBA (ça rime)

    Jointure entre 2 tables :

    1) table A : nb enreg important, B faible :
    Oracle grace aux estimations issues des Statistiques, va choisir dans ce cas un NESTED LOOP (Boucle imbriqué ):
    Il prend chaque enreg de A et vérifie qui le trouve dans B
    Donc le nombre de test = A x B

    2) table A : nb enreg important, B nb enreg important :
    Dans ce cas on fait du HASH JOIN (Haschage)
    Calul du clé de HASH pour tous les enregistrements de A. Ensuite pour chaque clé de Hash de B, il regarde si il a déjà cette clé sur A. Si oui il garde l'enreg.

    Il existe aussi les MERGE JOIN.

    Si les stats sont incorrects, Oracle peut partir en NESTED LOOP à tort, et cela est très dévastateur.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    750
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 750
    Par défaut
    merc.
    et c'est quoi le principe du merge join?
    t'as un lien où sont expliqués les différents résultats d'un explain plan?

  4. #4
    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
    Bonjour,

    Si quelqu'un a une réponse à farenheiit, cela rendrait des gens heureux :-). je suis vraiment intéressé

    t'as un lien où sont expliqués les différents résultats d'un explain plan?
    (je suis en oracle 10gR2)

    Merci bien.
    LBO72.

  5. #5
    Membre Expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Par défaut
    Les différents types de jointures sont assez bien documentées dans le Performance Tuning Guide.

    Il y a un peu de documentation sur EXPLAIN PLAN ici et là.

    Le reste on peut le trouver dans le livre de C. Antognini: Troubleshooting Oracle Performance.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    750
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 750
    Par défaut
    Citation Envoyé par pifor Voir le message

    Le reste on peut le trouver dans le livre de C. Antognini: Troubleshooting Oracle Performance.
    As-tu lu ce livre ? si oui qu'en pense tu?
    je cherche à acheter un livre orienté DBA Etudes. Me recommande tu ce livre? ou un autre ?

Discussions similaires

  1. Quelle différence entre liste, array et hash ?
    Par ram-0000 dans le forum Langage
    Réponses: 8
    Dernier message: 17/02/2014, 07h24
  2. dans quel cas une jointure nested loops est meilleur que hash join?
    Par M_Dandouna dans le forum Administration
    Réponses: 5
    Dernier message: 08/09/2009, 15h46
  3. Réponses: 8
    Dernier message: 02/07/2009, 11h39
  4. Réponses: 1
    Dernier message: 15/11/2006, 15h35

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