Outils pour utilisateurs

Outils du site


oracle_voir_l_explain_plan_d_une_requete

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

oracle_voir_l_explain_plan_d_une_requete [18/05/2011 11:09] (Version actuelle)
Ligne 1: Ligne 1:
 +{{tag>​oracle analyse performance explain_plan}}
 +====== Oracle - Voir l'​Explain Plan d'une requête ======
 +
 +Si il s'agit d'une petite requête, il est possible d'​activer les traces, puis de lancer la requête. Le résultat va alors s'​afficher,​ suivi du plan d'​exécution.
 +
 +<​code>​SQL>​ set autotrace on
 +SQL> select 1 from dual;
 +
 +         1
 +----------
 +         1
 +
 +
 +Execution Plan
 +----------------------------------------------------------
 +Plan hash value: 1388734953
 +
 +-----------------------------------------------------------------
 +| Id  | Operation ​       | Name | Rows  | Cost (%CPU)| Time     |
 +-----------------------------------------------------------------
 +|   0 | SELECT STATEMENT |      |     1 |     ​2 ​  (0)| 00:00:01 |
 +|   1 |  FAST DUAL       ​| ​     |     1 |     ​2 ​  (0)| 00:00:01 |
 +-----------------------------------------------------------------
 +
 +
 +Statistics
 +----------------------------------------------------------
 +          1  recursive calls
 +          0  db block gets
 +          0  consistent gets
 +          0  physical reads
 +          0  redo size
 +        508  bytes sent via SQL*Net to client
 +        492  bytes received via SQL*Net from client
 +          2  SQL*Net roundtrips to/from client
 +          0  sorts (memory)
 +          0  sorts (disk)
 +          1  rows processed</​code>​
 +
 +Par contre, cette technique exécute la requête, pour une grosse requête cela peut être long et avoir un impact sur la base. Voici une autre méthode qui ne nécessite pas l'​exécution de la requête :
 +
 +<​code>​SQL>​ explain plan for select 1 from dual;
 +
 +Explained.
 +
 +SQL> select * from table(dbms_xplan.display);​
 +
 +PLAN_TABLE_OUTPUT
 +--------------------------------------------------------------------------------
 +Plan hash value: 1388734953
 +
 +-----------------------------------------------------------------
 +| Id  | Operation ​       | Name | Rows  | Cost (%CPU)| Time     |
 +-----------------------------------------------------------------
 +|   0 | SELECT STATEMENT |      |     1 |     ​2 ​  (0)| 00:00:01 |
 +|   1 |  FAST DUAL       ​| ​     |     1 |     ​2 ​  (0)| 00:00:01 |
 +-----------------------------------------------------------------</​code>​
  
oracle_voir_l_explain_plan_d_une_requete.txt · Dernière modification: 18/05/2011 11:09 (modification externe)