Chapitre3-P1 (Optimisation Syntaxique)
Chapitre3-P1 (Optimisation Syntaxique)
Chapitre3-P1 (Optimisation Syntaxique)
– Chapitre 3 –
Optimisation des Requêtes
(Partie 1 : Optimisation Syntaxique)
Dr Bouanaka Chafia
NTIC
chafia.bouanaka@univ-constantine2.dz
Etudiants concernés
Faculté/Institut Département Niveau Spécialité
Objectifs du cours
Optimisation Syntaxique
• La réponse à ces questions est faite par le moteur de requêtes d’un SGBD
• Il définit un plan d’exécution
Université Constantine 2 © Bouanaka Chafia 6
Motivation de l’optimisation
Exemple introductif
Plan d’exécution : sert à
• Spécifier le chemin d’accès à adopter
• Spécifier l’algorithme à utiliser pour évaluer chaque
opérateur
• Spécifier le principe d’exécution des opérateurs : πnom
matérialisation,
pipeline
Optimisation: σnom_cours=‘TABD’
• Estimer le coût de chaque plan
• Sélectionner le plan le moins cher
idcours; index-nested loop
σnom=‘Benali’ ; utiliser index nom
etudiant inscrit
etudiant
Comment :
en filtrant les tuples par des restrictions
en les simplifiant par des projections
Types de Plan
d’exécution
Plan d’exécution Logique : opérations de
l’algèbre relationnelle
Important
Chaque SGBD propose un catalogue d’opérateurs ou algorithmes d’implémentations des
opérations de base de l’algèbre relationnelle
Définition
Un Plan d‘Exécution Logique de requête est un arbre dont les noeuds sont des
opérateurs de l'algèbre relationnelle
Un plan d’exécution logique est une structure de données arborescente :
Feuilles : relations ou tables utilisées dans la requête
Nœuds intermédiaires : opérations algébriques
Nœud racine : dernière opération algébrique avant le retour du résultat
Résultat de l’expression
algébrique
Opérations algébriques
Relation ou table
Définition
Un Plan d‘Exécution Physique est un plan d’exécution logique annoté par les
algorithmes d’implémentation des opérateurs de base
Traduction
Approches
d’optimisation
Optimisation Sémantique : réalisée dans la phase
d’analyse
Optimisation Syntaxique : réalisée dans la phase
de construction des plans
Optimisation Physique : réalisée dans la phase de
choix des algorithmes
Définition
L’optimisation sémantique vise à détecter les contradictions dans une requête SQL et
éviter ainsi son exécution
Exemple
SELECT *
From Personne
Where Age < 10 AND Age > 25
Définition
Permet de réorganiser les différentes opérations relationnelles élémentaires d’une
requête afin de réduire la quantité des données manipulées
ETAPE 1 :
Traduction de la requête SQL en Algèbre Relationnelle
Exemple
Soit la requête:
SELECT Nom, Bureau
FROM Employe, Departement
WHERE Employe.numoD = Departement.numoD
AND Employe.salaire > 1000
ETAPE 2 :
Tracer l’arbre algébrique
Exemple :
ETAPE 3 :
Déduire les Plans Logiques d’exécution
Règles de Transformation :
Règles de Transformation :
Algorithme d’optimisation:
En utilisant les règles de transformation, on obtient l’algorithme suivant :
1. Séparer les restrictions comportant plusieurs prédicats (R3).
2. Faire descendre les restrictions le plus bas possible (R4, R5)
3. Regrouper les restrictions successives portant sur une même relation
(R3)
4. Séparer les projections comportant plusieurs prédicats (R2).
5. Faire descendre les projections le plus bas possibles (R4, R6)
6. Regrouper les projections successives (R2)
Etape 3 : Exemple
Etape 3 : Exemple