Explain Plan es una utilidad que te proporciona Oracle para saber cual es el plan de ejecución de una consulta. Es especialmente útil cuando tienes problemas de rendimiento y quieres mirar de que manera puedes hacer que una consulta vaya mas rápido. Explain Plan te va a servir para optimizar tus consultas indicandote los pasos que Oracle va a seguir para resolver tu consulta.
EXPLAIN PLAN FOR consulta;
Para poder usas el Explain Plan debes primero crear la tabla plan_table. Para eso Oracle tiene preparado un script sql en:
$ORACLE_HOME/rdbms/admin/utlxplan.sql
Simplemente te conectas con tu usuario y lo ejecutas para tu esquema @$ORACLE_HOME/rdbms/admin/utlxplan.sql. Si intentas usar Explain Plan antes de tener la tabla plan_table te dará un error.
ERROR at line 1: ORA-02402: PLAN_TABLE not found
A continuación ya puedes usar la sentencia explain plan for tu cunsulta. Obtendrás (en mi caso) una respuesta tan decepcionante como
SQL> SQL> explain plan for select * from art; Explained.
Para ver la información deseada deberás ejecutar esta consulta:
@/produits/ora9i/rdbms/admin/utlxpls.sql;
Y por fin tenemos la información buscada:
SQL> @/produits/ora9i/rdbms/admin/utlxpls.sql; PLAN_TABLE_OUTPUT -------------------------------------------------------------------------------- -------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | -------------------------------------------------------------------- | 0 | SELECT STATEMENT | | | | | | 1 | TABLE ACCESS FULL | ART | | | | -------------------------------------------------------------------- Note: rule based optimization 9 rows selected.