BDA: Optimisation et évaluation des requêtes
Partie 1 : Traitement des requêtes
Partie 2 : Optimisation à base de règles
Partie 3 : Estimation du coût d’un plan d’exécution
- Enumérer les étapes de traitement d’une requête
- Traduire les requêtes SQL en algèbre relationnelle
- Utiliser les règles heuristiques dans l’optimisation des requêtes
- Estimer le coût d’un plan d’exécution logique d’une requête
Partie 1 : TRAITEMENT DES REQUETES
La problématique recherchée dans cette partie est d’analyser les
différentes étapes du traitement d’une requête au travers des
questions suivantes :
1- Comment passe-t-on d’une requête à un programme
2- Comment optimise-t-on une requête avant de l’exécuter
efficacement pour trouver un résultat correcte
Le traitement d’une requête s’opère en 04 étapes : l’analyse, la
compilation, l’optimisation, exécution
Requête SQL
analyse
Compilation
Dans l’optimisation des requête, une requête SQL est d’abord traduite en
une description d’algèbre relationnelle équivalente en utilisant une
structure de donnée appelé arbre algébrique avant d’être optimisé en un
plan d’exécution logique de la requête (PEL)
Une algèbre relationnelle est un ensemble d’opération agissant sur des
relations
3.1. Le modèle relation : c’est un modèle fondé sur la notion mathématique
de RELATION ou les données sont structurées sous forme de tableau à 02
dimensions. Ce modèle relationnel est fondé sur un ensemble de contrainte
d’intégrité pour la cohérence de la base de données.
04 opérateurs ensembles (binaire) 05 opérateurs relationnels
Union Ս 3 unaires 2 binaires
Intersection Ո Sélection ϭ Jointure
Différence \ Projection π Division ÷
Produit cartésien X Pennomage Ƥ
3.3. En plus des opérateurs algébrique définis pas Codd certains opérateurs
de calculs sont nécessaire pour construire des expressions de l’algèbre
relationnel permettant de répondre à des questions complexe
Il s’agit des fonctions de calcul ou d’agrégat
3.4. On distingue 03 modes de représentation de requête algébrique : la
notation fonctionnelle, l’expression algébrique, arbre algébrique.
En optimisation de requête, on utilise principalement les 02 derniers modes
de représentation. Une requête en algèbre relationnelle se représente sous
forme d’arbre algébrique ainsi qu’il suit :
- Racine de l’arbre = résultat de la requête
- Feuille de l’arbre = relation
- Nœuds = opérateurs algébriques
On remarque alors que pour l’arbre algébrique les opérateurs seront
représentés à l’envers tout en précisant pas les flèches le sens de
résultats.