Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment vérifier si l'index est utilisé ou non dans Oracle

Dans Oracle SQL Developer, lorsque vous avez SQL dans la feuille de calcul, il y a un bouton "Explain Plan", vous pouvez également appuyer sur F10. Après avoir exécuté le plan d'explication, il s'affichera dans la vue inférieure de SQL Developer. Il y a une colonne "OBJECT_NAME", elle vous dira quel index est utilisé. Par exemple, dans une requête que je viens d'exécuter, dans la colonne de gauche (OPERATION), il affiche d'abord "SELECT STATEMENT", puis SORT (AGGREGATE) puis INDEX (RANGE SCAN), puis dans la colonne OBJECT_NAME, il affiche TICKER_IDX1, qui est le nom d'un index sur ma table.

Ainsi, vous pouvez voir via la colonne OBJECT_NAME quels index sont utilisés.

Il peut arriver qu'Oracle Cost Based Optimizer choisisse un plan d'exécution sous-optimal. Plusieurs fois, la mise à jour des statistiques résoudra le problème. D'autres choix consistent à ajouter des index supplémentaires, c'est-à-dire un index multi-colonnes. Vous pouvez suggérer une instruction SQL, mais cela est rarement nécessaire. Aussi, il est possible de réécrire la requête.