Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Wie kann man eine Abfrage mit mehr als 10 Joins optimieren?

Angenommen, Sie verwenden die meisten Zwischentabellen nur für Joins und ziehen keine Daten daraus, erstellen Sie in jedem zusätzliche Indizes, die beide IDs in einem einzigen Index indizieren. Auf diese Weise sucht die Datenbank, wenn sie Daten für den Join sammelt, im Index und hat dann alle Daten, die sie benötigt. All diese "TABLE ACCESS FULL"-Einträge verschwinden, Sie haben nur noch Indexzugriffe.

Beispielindizes:

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