Cours de bases de données,
[Link]
Évaluation et optimisation
1Philippe Rigaux
Le problème étudié
Une requête SQL est déclarative. Elle ne dit pas comment
calculer le résultat.
Nous avons besoin d’une forme opératoire : un pro-
gramme.
2
La notion de plan d’exécution
Dans un SGBD le programme qui exécute une requête est
appelé plan d’exécution.
Il a une forme particulière : c’est un arbre, constitué
d’opérateurs.
3
De la requête SQL au plan d’exécution
Deux étapes :
1. (A) plan d’exécution logique (l’algèbre) ;
2. (B) plan d’exécution physique (opérateurs).
Le SGBD s’appuie sur un catalogue d’opérateurs.
4
En quoi consiste l’optimisation ?
À chaque étape, plusieurs choix. Le système les évalue et choisit le « meilleur ».
5
À retenir
• SQL est conçu comme un langage qui ne détermine pas la manière dont une
requête est exécutée (même dans sa forme algébrique)
• Les opérations à appliquer par le système sont réduites à celles de l’algèbre
relationnelle
• Chaque opérateur peut être évalué avec des algorithmes différents
Au niveau du réglage de l’organisation physique, on peut améliorer (“optimiser”) les
performances : c’est le boulot de l’administrateur
Conclusion : il faut écrire les requêtes pour qu’elles soient lisibles et claires. L’efficacité
est un problème indépendant.