Aller au contenu
uencoder

Semi Join

Une semi-jointure renvoie les lignes de la table externe ayant une correspondance dans la table interne, sans renvoyer les colonnes de celle-ci ; elle sert à optimiser les sous-requêtes EXISTS.

Objectif

Optimiser les sous-requêtes EXISTS/IN en évitant les transferts de données et les jointures inutiles.

Mécanisme

Elle vérifie seulement si une ligne externe a une correspondance interne ; si oui, elle émet la ligne externe (sans données internes). Implémentation : on déduplique la colonne de jointure interne puis on sonde la table externe. Elle produit moins de sortie et moins de résultats intermédiaires qu'une jointure classique.

Cas d’usage

  • Optimisation de sous-requêtes
  • Optimisation d'EXISTS
  • Optimisation de jointures

Outils associés

References