Comment afficher le plan Explain dans Oracle Sql developer?

J'ai peu de requêtes SQL qui ont des performances d'exécution de requête très faibles et je veux vérifier le plan d'exécution de la requête pour cette requête. J'essaie d'exécuter la requête ci-dessous mais elle ne montre aucun plan d'exécution de requête. Son seul plan de message d'affichage Pour réussi. Je ne sais pas y a-t-il des paramètres que nous devons faire dans Oracle sql developer pour expliquer le plan de la requête:

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 );
31
demandé sur Andrew 2015-05-06 11:03:56

2 réponses

EXPLIQUER LE PLAN POUR

Dans SQL Developer , Vous n'avez pas besoin d'utiliser l'instruction EXPLAIN PLAN FOR. Appuyez sur F10 ou cliquez sur le Expliquer icône du Plan.

entrez la description de l'image ici

Il sera ensuite affiché dans la fenêtreexpliquer le Plan .

Si vous utilisez SQL*Plus, puis utilisez DBMS_XPLAN.

Par exemple

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>

Voir Comment créer et afficher Expliquer le Plan

58
répondu Lalit Kumar B 2016-03-21 06:22:27

Explain montre seulement comment l'optimiseur pense que la requête va s'exécuter.

Pour afficher le plan réel, vous devrez exécuter le sql une fois. Ensuite, utilisez la même session exécutez ce qui suit:

@yoursql 
select * from table(dbms_xplan.display_cursor()) 

Cette façon peut montrer le plan réel utilisé lors de l'exécution. Il existe plusieurs autres façons d'afficher le plan en utilisant dbms_xplan. Vous pouvez Google avec le terme "dbms_xplan".

2
répondu Jin 2018-06-26 21:49:52