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

Comment optimiser la requête avec plus de 10 jointures ?

En supposant que vous utilisez la plupart des tables intermédiaires pour les jointures uniquement et que vous n'en extrayez pas de données, créez des index supplémentaires dans chacune qui indexent les deux identifiants dans un seul index. De cette façon, lorsque la base de données rassemble des données pour effectuer la jointure, elle regarde dans l'index et dispose ensuite de toutes les données dont elle a besoin. Tous ces enregistrements "TABLE ACCESS FULL" disparaissent, vous n'aurez que des accès à l'index.

Exemples d'index :

TABLE2 (ID_ROLE, ID_APLICATION)
TABLE4 (ID_PTS, ID_TS)
TABLE6 (ID_PLANT, ID_DEL)
etc...