Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak zoptymalizować zapytanie z 10+ złączeniami?

Zakładając, że używasz większości tabel pośrednich tylko do złączeń i nie pobierasz z nich danych, utwórz dodatkowe indeksy w każdej, która indeksuje oba identyfikatory w jednym indeksie. W ten sposób, gdy baza danych zbiera dane w celu wykonania złączenia, szuka w indeksie, a następnie ma wszystkie potrzebne dane. Wszystkie te rekordy „TABLE ACCESS FULL” znikną, będziesz mieć tylko dostęp do indeksu.

Przykładowe indeksy:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak uzyskać tygodniowe dane w Oracle?

  2. Kiedy należy używać procedur składowanych w języku Java z bazą danych Oracle… jakie są wady?

  3. PLS-00382:wyrażenie jest niewłaściwego typu przez wykonanie funkcji i spróbuj umieścić typ powrotu w zmiennej

  4. Brakujące wyrażenie podczas wybierania wszystkich kolumn i jeszcze jednej

  5. ORA-00904:nieprawidłowy identyfikator