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

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

    Informations forums :
    Inscription : Mars 2007
    Messages : 750
    Points : 341
    Points
    341
    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 habitué Avatar de Laurent_du_78
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    138
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Juin 2007
    Messages : 138
    Points : 188
    Points
    188
    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.
    Amicalement
    24h-en-piste.com

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

    Informations forums :
    Inscription : Mars 2007
    Messages : 750
    Points : 341
    Points
    341
    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 averti Avatar de LBO72
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Points : 342
    Points
    342
    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
    Points : 3 597
    Points
    3 597
    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 averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    750
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 750
    Points : 341
    Points
    341
    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 ?

  7. #7
    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
    Points : 3 597
    Points
    3 597
    Par défaut
    Je l'ai lu .. en partie. Il aborde de façon systématique l'analyse et la résolution de problèmes de performances surtout au niveau d'une requête donnée (pas de Statspack/AWR). Il y a un peu de modélisation physique à la fin du livre. Donc, oui je le recommande.

    Sinon il y a aussi Oracle Efficient By Design plus général (comment bien utiliser SQL et PL/SQL avec Oracle), même si le livre date un peu (il utilise surtout Oracle 9i).

    Hélas, aucun de ces livres n'est traduit en français et je ne connais pas de livre en français de niveau équivalent.

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

    Informations forums :
    Inscription : Mars 2007
    Messages : 750
    Points : 341
    Points
    341
    Par défaut
    Et sur tout ce qui est analyse des wait events, interprétation des rapport statspack, tkprof etc. t'as un livre à recommander?

  9. #9
    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
    Points : 3 597
    Points
    3 597
    Par défaut
    Optimizing Oracle Performance est un très bon libre sur l'utilisation de la trace SQL et l'analyse des waits events (même s'il concerne surtout Oracle 9i).

    Je ne connais pas de livre dédié à Statspack.

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

    Informations forums :
    Inscription : Mars 2007
    Messages : 750
    Points : 341
    Points
    341
    Par défaut
    J'ai trouvé ce livre concernant Statspack:

    Oracle 9i High-Pperformance Tuning with STATSPACK

  11. #11
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    Citation Envoyé par pifor Voir le message
    Hélas, aucun de ces livres n'est traduit en français et je ne connais pas de livre en français de niveau équivalent.
    Celui-ci est assez sympa et facile à lire : http://www.amazon.fr/Optimisation-pe...7802522&sr=1-4

    Celui que j'ai est orienté 9i mais présente des concepts pour toutes les versions et surtout une méthodologie d'investigation intéressante (en fait, celle préconisée par Oracle )

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

    Informations forums :
    Inscription : Mars 2007
    Messages : 750
    Points : 341
    Points
    341
    Par défaut
    Tu ne vends pas le tiens par hasard ? parcequ'il n'est plus disponible sur le net

  13. #13
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    Si tu t'adresses à moi, je n'ai malheureusement jamais eu/pris le temps de faire un tuto à ce sujet... alors un livre encore moins

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

    Informations forums :
    Inscription : Mars 2007
    Messages : 750
    Points : 341
    Points
    341
    Par défaut
    Citation Envoyé par orafrance Voir le message
    Si tu t'adresses à moi, je n'ai malheureusement jamais eu/pris le temps de faire un tuto à ce sujet... alors un livre encore moins
    non je parlais du livre que t'as recommandé

  15. #15
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    Non désolé, par contre, tu peux peut-être t'adresser à l'éditeur (campuspress) pour voir s'il ne leur resterait pas des exemplaires sous la main ou connaitre son remplaçant

    Celui-ci a l'air pas mal : http://www.pearson.fr/livre/?GCOI=27440100664390

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

    Informations forums :
    Inscription : Mars 2007
    Messages : 750
    Points : 341
    Points
    341
    Par défaut
    Je reviens de chez Eyrolles
    Et après avoir feuilleter plusieurs livres pendant une heure j'ai décidé de prendre les livres suivants:

    The art and science of oracle de Christopher LAWSON

    Oracle PL/SQL Best Practices de Steven Feuerstein

    Le 2ème est une référence et le premier m'a l'air vraiment super.
    Quelqu'un les a t'il déjà lu ?

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Points : 342
    Points
    342
    Par défaut
    Salut Grand Maitre OraFrance :-)

    Pourrais-tu me donner plus d'infos sur le livre que tu nous conseilles : http://www.pearson.fr/livre/?GCOI=27440100664390

    Quels sujets aborde-t-il ?

    Je suis plus intéressé par le fait de diagnostiquer les requêtes mal écrites et de bien savoir lire un plan d'excécution.

    Merci bien.
    LBO72.

  18. #18
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    Ca va de l'interprétation des traces à la compréhension de l'usage des indexes en passant par la lecture du plan d'exécution. Ca traite aussi du paramètrage et surtout la méthodo.

  19. #19
    Membre habitué
    Inscrit en
    Février 2009
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 127
    Points : 146
    Points
    146
    Par défaut
    Bonsoir,

    Personnellement j'ai suivi une formation donnée par Razvan Bizoï.
    Il a écrit plusieurs livres :
    http://www.editions-eyrolles.com/Aut...zvan-bizoi?xd=
    Et il est en train d'en écrire de nouveaux pour les dernières versions Oracle.

    La formation était très intéressante, je pense donc que les livres aussi mais je ne les ai pas encore lu, ni acheté. Si qq connait et à un avis ...
    Sylvain


  20. #20
    Membre expérimenté Avatar de fatsora
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 103
    Points : 1 332
    Points
    1 332
    Par défaut
    Citation Envoyé par iSylvain Voir le message
    Bonsoir,

    Personnellement j'ai suivi une formation donnée par Razvan Bizoï.
    Il a écrit plusieurs livres :
    http://www.editions-eyrolles.com/Aut...zvan-bizoi?xd=
    Et il est en train d'en écrire de nouveaux pour les dernières versions Oracle.

    La formation était très intéressante, je pense donc que les livres aussi mais je ne les ai pas encore lu, ni acheté. Si qq connait et à un avis ...
    Il y a une critique ici

    http://oracle.developpez.com/livres/...is#L2212117477

    asktom.oracle.com tahiti.oracle.com otn.oracle.com

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.


    phrase chinoise issue du Huainanzi

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