Les curseurs
PL/SQL pour Oracle10g 5-1
L'exécution d’une interrogation
TSOFT - ORACLE 10g SQL et PL*SQL Module 27 : Les curseurs - Diapo 27.2
L'exécution d’une interrogation
Chaque requête d’interrogation est exécuté en trois phases : PARSE (l’analyse), EXECUTE (l’exécution) et FETCH (la récupération ou la lecture).
1. PARSE
Au cours de cette phase, Oracle vérifie la syntaxe de l'instruction SQL. Il réalise la résolution d'objets et les contrôles de sécurité pour l'exécution du code. Ensuite, il construit l'arbre d'analyse et développe le plan d'exécution pour l'instruction SQL ; ainsi construits, les deux composants, l'arbre d'analyse et le plan d'exécution, sont stockés dans le cache de bibliothèque.
Etape 1.1
Le serveur cherche s'il existe déjà une instruction correspondant à celle en cours de traitement dans le tampon SQL. S'il en trouve l’instruction, il peut utiliser l'arbre d'analyse ainsi que le plan d’exécution générée lors d'une exécution précédente de la même instruction, sans alors avoir besoin de l'analyser et de le reconstruire.
Etape 1.2
Le serveur commence l’analyse de la requête par un contrôle syntactique afin de déterminer si la requête respecte la syntaxe SQL. Ensuite le serveur effectue une analyse sémantique afin de valider l’existence des objets (tables, vues, synonymes…), ainsi que leur composants utilisés dans la requête (champs, objets …), les droits de l’utilisateur, et de déterminer quels sont les objets nécessaires pour construire l’arbre d'analyse. Pendant la phase d’analyse sémantique, le serveur recherche les informations dans le dictionnaire de données.– PL/SQL pour Oracle10g 5-3
2. EXECUTE
La phase d'exécution du traitement d'une instruction SQL revient à appliquer le plan d'exécution aux données.
1
Les curseurs 2009
Etape 2.1
Le serveur utilise le plan d’exécution pour trouver les données à partir des fichiers des données.
Etape 2.2 et 2.3
Les données nécessaires pour la requête sont