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