• Home
  • LLMs
  • Python
  • Docker
  • Kubernetes
  • Java
  • Ubuntu
  • Maven
  • Archived
  • About
Oracle | Méthodes de jointure (join methods)
  1. Notes
  2. Hash Joins
  3. Sort-Merge Joins
  4. Nested Loops Joins

  1. Notes
    Dans cette page, je vais présenter trois méthodes de jointures, chacune peut avoir des variantes un peu différentes, en fonction des options de jointure (INNER, OUTER, CARTESIAN) :
    • Hash Joins
    • Sort-Merge Joins
    • Nested Loops Joins

    This table (and its data) is used in the examples bellow:



  2. Hash Joins
    Dans ce cas, les données des deux tables sont lues en mémoire, et les données de la table principale sont hachées.
    Pour chaque ligne de la table secondaire, la fonction de hachage est appliquée sur les colonnes de la jointure pour décider s'il y a un match ou non avec une ligne de la table principale.

    Typiquement la table hachée doit être celle qui censée retourner le moins de lignes.

    Plan d'exécution :
  3. Sort-Merge Joins
    Dans ce cas, les lignes des deux tables, qui matchent avec les conditions de la clause WHERE, sont lues en mémoire, et triées par les colonnes de la jointure.
    En suite, les lignes des deux tables sont fusionnées ensemble en gardant que les lignes qui matchent avec les conditions de la jointure.

    Plan d'exécution :
  4. Nested Loops Joins
    Dans ce cas, la jointure est appliquée en effectuant "deux boucles imbriquées" sur les deux tables (ou un de ses indexes si disponibles) :
    la première boucle est effectuée sur la table principale de la jointure, et pour chaque itération de cette boucle une deuxième boucle est effectuée sur la table secondaire.
    La ligne de la table principale et la ligne de la table secondaire seront retenue si la condition de la jointure matche.


    Plan d'exécution :
© 2025  mtitek