Vous êtes sur la page 1sur 5

Devoir 2

(Soulaimane NCIR – Taoufik Louhz)

Exercice 1 :
1/
EXPLAIN PLAN FOR
Select * from hr.jobs j join hr.employees e on j.job_id=e.job_id;
SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);
2/
SELECT /*+ USE_NL(j e) */ *
FROM hr.jobs j
JOIN hr.employees e ON j.job_id = e.job_id;
3/
La table outer estla table EMPLOYEES
4/
EXPLAIN PLAN FOR
SELECT /*+ USE_NL(j e) leading(j)*/ *
FROM hr.jobs j
JOIN hr.employees e ON j.job_id = e.job_id;
SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);
Exercice 2 :
La requête SELECT initiale sélectionne les colonnes a.adhid, a.nom et a.tel des
tables Adherent, Sport et Pratique.

L'étape 1 utilise une opération NESTED LOOPS pour effectuer la jointure entre
Adherent et Sport, réalisant cette opération pour chaque enregistrement de la
table Adherent.

L'étape 2 utilise une autre opération NESTED LOOPS pour la jointure entre Sport
et Pratique, traitant chaque enregistrement de la table Sport.

Dans l'étape 3, l'accès à la table Sport se fait via une opération TABLE ACCESS
FULL, ce qui signifie que toutes les colonnes de Sport sont lues.

De manière similaire, dans l'étape 4, l'accès à la table Adherent se fait


également via une opération TABLE ACCESS FULL, lisant toutes les colonnes de
la table Adherent. En résumé, la requête effectue des jointures emboîtées entre
les tables Adherent, Sport et Pratique, accédant à toutes les colonnes de Sport
et Adherent à travers des opérations NESTED LOOPS et TABLE ACCESS FULL.
Exercice3 :

1-Table pilot

Table Vol
Table Avion

2-

3- L’optimiseur désigne la table Pilote qui retourne le moins de lignes dans la requête comme Outer.
4-

5-

Vous aimerez peut-être aussi