L'exécution d'une requête SQL suit les étapes suivantes :
Analyse syntaxique : Vérification de la correction syntaxique et traduction en opérations algébriques
Contrôle : Vérification des droits d'accès
Optimisation : Génération de plans d'exécution et choix du meilleur
Exécution : Compilation et exécution du plan choisi
L'analyse de la requête permet de produire un arbre d'opérations à exécuter.
Or il est possible de transformer cet arbre pour en obtenir d'autres équivalents, qui proposent des moyens différents pour arriver au même résultat, on parle de différents plans d'exécution.
L'optimisation de la requête est une opération informatique visant à réécrire l'arbre d'exécution de la requête en vue de choisir le plan d'exécution le plus performant.