Como ver el plan de ejecucion

Moulin Rouge, la Goulue - Henri de Toulouse-Lautrec

Moulin Rouge, la Goulue – Henri de Toulouse-Lautrec

Ahora puedes ver nuestros vídeos cortos acerca del lenguaje SQL

Como vimos en el articulo «El comando EXPLAIN PLAN«, dicho comando inserta el plan de ejecucion de una sentencia SQL en la tabla PLAN_TABLE. Oracle provee ademas un conjunto de herramientas para visualizar el plan de ejecucion en un formato que resulte practico a quien deba interpretarlo.

Una vez ejecutado el comando EXPLAIN PLAN se puede utilizar alguno de los siguientes scripts o package para visualizar el plan de ejecucion:

  • UTLXPLS.SQL este script reside en el servidor de base de datos y se puede utilizar para visualizar la PLAN_TABLE cuando se ejecutan sentencias en forma serializada.
  • UTLXPLP.SQL reside en el servidor de base de datos y se puede utilizar para ver el plan de ejecucion cuando se ejecutan sentencias que se procesan en paralelo.
  • DBMS_XPLAN.DISPLAY esta funcion del package DBMS_XPLAN acepta diversas opciones de visualizacion de la PLAN_TABLE.

Ejemplo de visualizacion del plan de ejecucion utilizando UTLXPLS.SQL

SQL> explain plan for select EMP_APELLIDO from EMPLEADOS;
Explained.
SQL>  @$ORACLE_HOME/rdbms/admin/utlxpls
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
Plan hash value: 3220727562
-------------------------------------------------------------------------------
| Id  | Operation         | Name      | Rows  | Bytes | Cost (%CPU)| Time     |
-------------------------------------------------------------------------------
|   0 | SELECT STATEMENT  |           |     1 |    17 |     2   (0)| 00:00:01 |
|   1 |  TABLE ACCESS FULL| EMPLEADOS |     1 |    17 |     2   (0)| 00:00:01 |
-------------------------------------------------------------------------------
Note
-----
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
   - dynamic sampling used for this statement
12 rows selected.

Ejemplo de visualizacion del plan de ejecucion utilizando UTLXPLP.SQL

SQL> @$ORACLE_HOME/rdbms/admin/utlxplp
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
Plan hash value: 3220727562
-------------------------------------------------------------------------------
| Id  | Operation         | Name      | Rows  | Bytes | Cost (%CPU)| Time     |
-------------------------------------------------------------------------------
|   0 | SELECT STATEMENT  |           |     1 |    17 |     2   (0)| 00:00:01 |
|   1 |  TABLE ACCESS FULL| EMPLEADOS |     1 |    17 |     2   (0)| 00:00:01 |
-------------------------------------------------------------------------------
Note
-----
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
   - dynamic sampling used for this statement
12 rows selected.

Ejemplo de visualizacion del plan de ejecucion utilizando DBMS_XPLAN.SQL

SQL> SELECT PLAN_TABLE_OUTPUT FROM TABLE(DBMS_XPLAN.DISPLAY());
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
Plan hash value: 3220727562
-------------------------------------------------------------------------------
| Id  | Operation         | Name      | Rows  | Bytes | Cost (%CPU)| Time     |
-------------------------------------------------------------------------------
|   0 | SELECT STATEMENT  |           |     1 |    17 |     2   (0)| 00:00:01 |
|   1 |  TABLE ACCESS FULL| EMPLEADOS |     1 |    17 |     2   (0)| 00:00:01 |
-------------------------------------------------------------------------------
Note
-----
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
   - dynamic sampling used for this statement
12 rows selected.

Deja un comentario

No hay comentarios aún.

Comments RSS TrackBack Identifier URI

Deja un comentario