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.
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
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 :
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 | -----------------------------------------------------------------