multiple - oracle sql developer explain plan tutorial
¿Cómo veo el plan Explain en el desarrollador de Oracle Sql? (2)
Tengo pocas consultas SQL que tienen un rendimiento de ejecución de consultas muy bajo y quiero verificar el plan de ejecución de consultas para esta consulta. Estoy intentando ejecutar la siguiente consulta pero no muestra ningún plan de ejecución de consulta. Su único plan de mensaje de visualización para éxito. No sé si hay alguna configuración que tengamos que hacer en el desarrollador de Oracle SQL para analizar el plan de consulta:
EXPLAIN PLAN FOR
Select SO.P_OPTION_ID FROM
SIMSIM
JOIN P_TYPE PT on PT.KEY=SIM.P_TYPE_KEY JOIN P_CONFIG PC ON PC.ID=PT.PRODUCT_CONFIG_ID
JOIN P_OPTION PO ON PO.OPTION_KEY=PC.DEFAULT_PRODUCT_OPTIONS JOIN S_OPTION SO ON SO.SERVICE_ID=SIM.ASSIGNED_TO_SERVICE_ID
JOIN AVV_NO AN ON SIM.ASSIGNED_ANUMBER_ID = AN.ID
where SO.STATUS_ID IN (20,40)
and SO.ID < to_char(SYSDATE - numtodsinterval ( 1,''MINUTE'' ), ''YYYYMMDDHH24MISS'')||''0000''
and SO.ID > to_char(SYSDATE - numtodsinterval ( 1, ''HOUR'' ), ''YYYYMMDDHH24MISS'')||''0000''
and NOT EXISTS(SELECT ID from TEMP_BPL T WHERE T.ID = SO.ID );
Plan de explicación para
En SQL Developer , no tiene que usar la instrucción EXPLAIN PLAN FOR
. Presione F10
o haga clic en el icono Explicar plan .
A continuación, se mostrará en la ventana Explicar plan .
Si está utilizando SQL * Plus , use DBMS_XPLAN .
Por ejemplo,
SQL> EXPLAIN PLAN FOR
2 SELECT * FROM DUAL;
Explained.
SQL> SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------
Plan hash value: 272002086
--------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
--------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 2 | 2 (0)| 00:00:01 |
| 1 | TABLE ACCESS FULL| DUAL | 1 | 2 | 2 (0)| 00:00:01 |
--------------------------------------------------------------------------
8 rows selected.
SQL>
Explicar solo muestra cómo el optimizador cree que se ejecutará la consulta.
Para mostrar el plan real, deberá ejecutar el sql una vez. Luego usa la misma sesión y ejecuta lo siguiente:
@yoursql
select * from table(dbms_xplan.display_cursor())
De esta manera se puede mostrar el plan real utilizado durante la ejecución. Hay varias otras formas de mostrar el plan usando dbms_xplan. Puede Google con el término "dbms_xplan".