INSIA - BASES DE DONNÉES – SRT 3 – 1 : Optimisation - 2007-2008 - page 3 - Bertrand LIAUDET
Etapes de l’optimisation des requêtes
L’optimisation des requêtes se divise en trois étapes :
L’optimisation logique ou réécriture
Elle consiste à optimiser les requêtes indépendamment du schéma interne de la BD (donc des
index particulièrement) et de la taille des tables. Cette optimisation consiste à restructurer
l’écriture de la requête en langage relationnel. C’est la phase de réécriture.
L’optimisation logique peut être syntaxique ou sémantique.
L’optimisation syntaxique prend en compte uniquement les propriétés de l’algèbre
relationnelle.
L’optimisation sémantique prend en compte les aspects sémantiques, c’est-à-dire les
contraintes d’intégrité en tout genre.
L’optimisation physique
Elle consiste à optimiser les requêtes en fonction du schéma interne (index, contraintes
d’intégrité diverses) et de la taille des tables. Cette optimisation consiste à ordonner les
opérations algébriques élémentaires pour que les algorithmes de recherche, de tri, de jointure et
d’agrégat soient, en fonction du contexte, les plus efficaces.
Plus généralement, l’optimisation physique a à voir avec le problème des méthodes d’accès aux
données. On abordera donc à ce sujet deux grand types de méthodes : les méthodes par
indexation et les méthodes par hachage.
Choix d’un plan d’exécution et calcul de coût
Un plan d’exécution d’une requête est une suite possible d’opérations de bas niveau qui
permettent de réaliser cette requête.
Une requête peut donner lieu à plusieurs plans d’exécution.
Le choix du plan d’exécution optimale se fera par un calcul de coût, c’est-à-dire de la
performance.
Le calcul de coût consiste à calculer le temps de traitement maximum des opérations
élémentaires et de leur succession.
Dans le calcul de coût (donc dans la performance de la requête), interviennent :
• Le nombre d’entrée-sortie
• Le parallélisme des opérations élémentaires
• Le temps de calcul des opérations élémentaires
Optimisation et heuristique
L’optimisation logique est une étape algébrique et logique qui relève d’une méthode déductive.
L’optimisation physique et de choix du plan d’exécution relèvent d’une méthode heuristique
(c’est-à-dire d’une méthode qui procède par hypothèses provisoires et par évaluations
successives).
L’optimisation physique liée à l’implémentation physique de la BD, mais aussi aux algorithmes
de calcul qui sont utilisés. Certains algorithmes sont plus efficaces que d’autres. La qualité de
ces algorithmes est un des atouts du SGBD (comme la qualité des algorithmes de recherche est
un des atouts des moteurs de recherche).