next up previous
suivant: Optimisation et Algèbre relationnelle monter: optimisation précédent: optimisation

Ce qui se passe pour une requête

Le traitement d'une requête SQL suit les étapes suivantes :

  1. une connexion entre le programme applicatif et le serveur du SGBD est établie. Le programme client envoie une requête au serveur, qui la traite et retourne au clients les résultats.
  2. analyse syntaxique : vérification de la correction de la requête puis vérification de l'existence des table et des attributs (par utilisation du catalogue de la base); une phase de simplification et de transformations est également effectuée (par exemple x<= 123 et x>=123 simplifié en x=123; détection des incohérences (x=123 et x=124))
  3. l'arbre de la requête est créé (c'est la traduction en expression algébrique);
  4. le système de réécriture transforme l'arbre de la requête (notamment pour les vues);
  5. optimisation : l'arbre de requête est analysé et un pan d'exécution pour la requête est choisi. Pour cela, tous les plans amenant aux mêmes résultats sont évalués, et le moins coûteux est choisi.
  6. puis le traitement est effectué : la plan d'exécution est mis en oeuvre, il y a accès aux données, évaluation des conditions et le résultat est retourné.


next up previous
suivant: Optimisation et Algèbre relationnelle monter: optimisation précédent: optimisation
Anne 2006-12-13