Aller au contenu
uencoder

Join Order Optimization

L'optimisation de l'ordre des jointures choisit le meilleur ordre pour les jointures multi-tables ; avec N! ordres pour N tables, elle exige une recherche élaguée.

Objectif

Comprendre les écarts de performance entre ordres de jointure et éviter les produits cartésiens et les mauvais ordres.

Mécanisme

La programmation dynamique (System-R) énumère tous les ordres pour l'optimum en O(3^N). Les grandes jointures utilisent un élagage glouton ou heuristique. Les arbres profonds-gauche restreignent l'espace de recherche. L'ordre de jointure influence énormément la taille des résultats intermédiaires.

Cas d’usage

  • Réglage des jointures multi-tables
  • Analyse de plans d'exécution
  • Internes de l'optimiseur

Outils associés

References