Como posso ver o plano de explicação no desenvolvedor SQL da Oracle?

eu tenho poucas consultas SQL que tem muito baixo desempenho de pesquisa em execução e eu quero verificar o plano de execução de pesquisa para esta consulta. Estou tentando executar a consulta abaixo, mas não mostra nenhum plano de execução de consulta. Seu único plano de exibição de mensagem para sucesso. Eu não sei se há alguma configuração que temos que fazer no desenvolvedor SQL oracle para vies explicar o plano para a 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 );
Author: Andrew, 2015-05-06

2 answers

EXPLIQUE O PLANO PARA

Em desenvolvimento SQL , não tem de usar a declaração EXPLAIN PLAN FOR. Imprensa F10 ou carregue no explique o ícone do Plano .

enter image description here

Será então apresentado na janela de explicação.

Se estiver a utilizar SQL * mais , então use dbms_xplan .

Por exemplo,

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>

Ver Como criar e exibir plano de explicação

 58
Author: Lalit Kumar B, 2016-03-21 06:22:27

Explique apenas mostra como o Optimizador pensa que a consulta será executada.

Para mostrar o verdadeiro plano, terá de executar o sql uma vez. Então use a mesma sessão execute o seguinte:
@yoursql 
select * from table(dbms_xplan.display_cursor()) 
Este modo pode mostrar o verdadeiro plano usado durante a execução. Existem várias outras maneiras de mostrar o plano usando dbms_xplan. Você pode pesquisar no Google com o termo "dbms_xplan".
 2
Author: Jin, 2018-06-26 21:49:52