Dimanche 10 juillet 2011 7 10 /07 /Juil /2011 16:26

 

Voir le Plan d'Exécution SQL dans SQLPLUS avec DBMS_XPLAN.

Comment voir le Plan d’exécution SQL de mes requetes ?.

Le Package Oracle DBMS_XPLAN fournit un moyen facile d'afficher la sortie de la commande EXPLAIN PLAN FOR dans SQLPLUS.

 

Création de la table PLAN_TABLE avec UTLXPLAN.SQL

 
SQL> connect / as sysdba
Connected.
SQL>
SQL> @C:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\utlxplan.sql

Table created.

SQL> CREATE OR REPLACE PUBLIC SYNONYM plan_table FOR sys.plan_table;

Synonym created.

SQL>
SQL> GRANT ALL ON sys.plan_table TO public;

Grant succeeded.

SQL>

 

Afficher le plan d’exécution d'une requête SQL.

 
SQL> EXPLAIN PLAN FOR SELECT ename, job, dname
  2                     FROM EMP,DEPT
  3                    WHERE dept.deptno = 10
  4                      AND emp.deptno = dept.deptno;

Explained.

SQL>
SQL> SELECT * FROM table(dbms_xplan.display);

PLAN_TABLE_OUTPUT
----------------------------------------------------------------------------------------
Plan hash value: 568005898

----------------------------------------------------------------------------------------
| Id  | Operation                    | Name    | Rows  | Bytes | Cost (%CPU)| Time     |
----------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT             |         |     3 |    90 |     4   (0)| 00:00:01 |
|   1 |  NESTED LOOPS                |         |     3 |    90 |     4   (0)| 00:00:01 |
|   2 |   TABLE ACCESS BY INDEX ROWID| DEPT    |     1 |    13 |     1   (0)| 00:00:01 |
|*  3 |    INDEX UNIQUE SCAN         | PK_DEPT |     1 |       |     0   (0)| 00:00:01 |
|*  4 |   TABLE ACCESS FULL          | EMP     |     3 |    51 |     3   (0)| 00:00:01 |
----------------------------------------------------------------------------------------

PLAN_TABLE_OUTPUT
----------------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

   3 - access("DEPT"."DEPTNO"=10)
   4 - filter("EMP"."DEPTNO"=10)

 

Liens en rapport avec l'article et qui sont susceptibles de vous intéresser
• PL/SQL Packages
Par Daniel Roesch - Publié dans : PLSQL Packages
Ecrire un commentaire - Voir les 0 commentaires
Retour à l'accueil

Rechercher Articles Oracle SQL sur ce Site.

Loading

À lire aussi…

Download PDF Oracle

Rechercher sur le site

Oracle 10G - DBA -

Syndication

  • Flux RSS des articles
Contact - C.G.U. - Rémunération en droits d'auteur - Signaler un abus - Articles les plus commentés