web-dev-qa-db-fra.com

Comment afficher le plan Explain dans Oracle Sql Developer?

J'ai quelques requêtes SQL dont les performances d'exécution des requêtes sont très faibles et je souhaite vérifier le plan d'exécution de la requête pour cette requête. J'essaye d'exécuter la requête ci-dessous mais cela ne montre aucun plan d'exécution de requête. Son seul plan de message d'affichage POUR a réussi. Je ne sais pas s'il existe des paramètres que nous devons faire dans Oracle SQL Developer pour consulter le plan de 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 );
41
Andrew

EXPLIQUEZ LE PLAN POUR

Dans SQL Developer , vous n'avez pas à utiliser l'instruction _EXPLAIN PLAN FOR_. Appuyez sur F10 ou cliquez sur l'icône Expliquer le plan .

enter image description here

Il sera ensuite affiché dans la fenêtre Explain Plan .

Si vous utilisez SQL * Plus , 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 le plan Explain

70
Lalit Kumar B

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

Pour montrer 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 moyens d’afficher un plan à l'aide de dbms_xplan. Vous pouvez Google avec le terme "dbms_xplan".

5
Jin