Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да оптимизирам заявка с 10+ присъединявания?

Ако приемем, че използвате повечето от междинните таблици само за обединения и не изтегляте данни от тях, създайте допълнителни индекси във всяка, които индексират и двата идентификатора в един индекс. По този начин, когато db събира данни, за да извърши присъединяването, той търси в индекса и след това има всички данни, от които се нуждае. Всички тези записи „ПЪЛЕН ДОСТЪП ДО ТАБЛИЦА“ изчезват, ще имате само достъп до индекс.

Примерни индекси:

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. извличане на данни с помощта на rownum в oracle

  2. Стойност или цифрова грешка във функция и не мога да открия къде съм сбъркал Oracle

  3. Zip с помощта на Oracle Stored Procedure

  4. TRANSLATE(… ИЗПОЛЗВАНЕ) Функция в Oracle

  5. Oracle PL/SQL версия 12.2.0.1.0 срещу 12.1.0.2.0 - незабавно изпълнение с параметри