
CHAPITRE 1. INFORMATIONS SUR LA BASE DE DONNÉES 1.5. EXPLAIN
Table Schema Nb tuples Index Statistiques
ARTISTE (IDARTISTE PK NUMBER(38), NOM VARCHAR2(30), PRENOM VARCHAR2(24),
DATENAISS DATE) 1 000 000 BTREE :ARTISTE(NOM)
PAYS (CODE PK CHAR(4), NOM VARCHAR2(31), LANGUE VARCHAR2(31)) 200
FILM1 (IDFILM PK NUMBER(38), TITRE VARCHAR2(24), ANNEE NUMBER(38), IDMES
NUMBER(38), GENRE VARCHAR2(20), RESUME VARCHAR2(300), CODEPAYS
CHAR(4))
500 000 FK :FILM1(IDMES) :ARTISTE Années de
1990 à 2010
FK :FILM1(CODEPAYS) :PAYS
Copies de FILM1
FILM2 FK :FILM2(IDMES) :ARTISTE, FK :FILM2(CODEPAYS) :PAYS BTREE :FILM2(ANNEE), BTREE :FILM2(CODEPAYS)
FILM3 FK :FILM3(IDMES) :ARTISTE, FK :FILM3(CODEPAYS) :PAYS BITMAP :FILM3(ANNEE), BITMAP :FILM3(CODEPAYS)
FILM4 FK :FILM4(IDMES) :ARTISTE, FK :FILM4(CODEPAYS) :PAYS HASH :FILM4(ANNEE)
FILM5 FK :FILM5(IDMES) :ARTISTE, FK :FILM5(CODEPAYS) :PAYS HASH :FILM5(CODEPAYS)
FILM6 FK :FILM6(IDMES) :ARTISTE, FK :FILM6(CODEPAYS) :PAYS ORGANIZATION INDEX
ROLE (IDFILM PK NUMBER(38), IDACTEUR PK NUMBER(38), NOMROLE VAR-
CHAR2(24)) 3 000 000 FK :ROLE(IDFILM) :FILM1
FK :ROLE(IDACTEUR) :ARTISTE
INTERNAUTE (EMAIL PK CHAR(40), NOM VARCHAR2(24), PRENOM VARCHAR2(24),RE-
GION VARCHAR2(31))
500 000
NOTATION (IDFILM PK NUMBER(38), EMAIL PK CHAR(40), NOTE NUMBER(38)) 4 000 000 FK :NOTATION(IDFILM) :FILM1 Notes de 0 à
20
FK :NOTATION(EMAIL) :INTERNAUTE
1.5 EXPLAIN
Plan d’exécution
--------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost |
--------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 14 | 518 | 2 |
| 1 | TABLE ACCESS FULL | ARTISTE | 14 | 518 | 2 |
--------------------------------------------------------------------
Statistiques
--------------------------------------------------------------------
541 recursive calls
0 db block gets
8940 consistent gets
5542 physical reads
332 redo size
2220518 bytes sent via SQL*Net to client
41729 bytes received via SQL*Net from client
3761 SQL*Net roundtrips to/from client
8 sorts (memory)
0 sorts (disk)
56386 rows processed
1. Id :Identifiantdel’opérateur;
2. Operation :typed’opérationutilisée(voirtableaurécapitulatifci-dessous) ;
3. Name :Nomdelarelationutilisée;
4. Cost :C’estlecoûtestimé.Iciiln’yapasd’unitédevaleur,d’ailleurs il faut prendre avec précaution
la valeur, et y préférer plutôt la lecture du plan. Ici il n’y aura de valeur que pour le CBO (Cost-
Based Optimizer). Attention, si nous sommes en mode CHOOSE etquelarequêtefaitappelà
plusieurs tables dont une n’a pas de statistiques calculées,Oraclechoisiraquandmêmelemode
CBO ;
5. Rows :Lenombredelignesqu’Oraclepensetransférer
.Iciilfautvérifierquecenombreesten
adéquation avec le nombre réel de lignes ramenées. Ici il s’agit d’une estimation basée sur les
statistiques de la table, d’où l’importance de calculer ces statistiques. ,
6. Bytes :Nombred’octetsqu’oraclepensetransférer
.