Oracle
 sql >> Database >  >> RDS >> Oracle

Come ottimizzare la query con oltre 10 join?

Supponendo che tu stia utilizzando la maggior parte delle tabelle intermedie solo per i join e non estrai dati da esse, crea indici aggiuntivi in ​​ciascuno che indicizza entrambi gli ID in un unico indice. In questo modo, quando il db raccoglie i dati per eseguire il join, cerca nell'indice e quindi ha tutti i dati di cui ha bisogno. Tutti quei record "TABLE ACCESS FULL" scompaiono, avrai solo accessi all'indice.

Esempi di indici:

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