Pour connaître les index utilisés par une requête, il faut utiliser l'instruction EXPLAIN PLAN.
EXPLAIN PLAN FOR (SELECT * FROM ma_table WHERE ma_colonne='iuhuhj');
SELECT PLAN_TABLE_OUTPUT FROM TABLE(dbms_xplan.display());
Ce qui donne le tableau suivant, avec le coût (dernière colonne) de chaque étape :
-------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost |
-------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 782 | 3 |
| 1 | TABLE ACCESS BY INDEX ROWID| MA_TABLE | 1 | 782 | 3 |
| 2 | INDEX RANGE SCAN | PK_ID_TABLE | 1 | | 2 |
-------------------------------------------------------------------------------------
Ce qui donne le tableau suivant, avec le coût (dernière colonne) de chaque étape :
-------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost |
-------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 782 | 3 |
| 1 | TABLE ACCESS BY INDEX ROWID| MA_TABLE | 1 | 782 | 3 |
| 2 | INDEX RANGE SCAN | PK_ID_TABLE | 1 | | 2 |
-------------------------------------------------------------------------------------
Aucun commentaire:
Enregistrer un commentaire