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

Оптимизация при сливане от Oracle datalink

/*+DRIVING_SITE(rd)*/ hint не работи с MERGE, защото операцията трябва да се изпълнява в базата данни, където се намира обединената таблица. Което в случая е локалната база данни. Това означава целия набор от резултати от отдалечената таблица се изтегля през връзката към базата данни и след това се филтрира спрямо данните от локалната таблица.

Така че, отхвърлете намека. Също така предлагам да преобразувате клаузата IN в съединение:

Merge into project p
using (select rp.projectID,
              rp.otherdata
       FROM Project ld
            inner join [email protected] rd
                     on rd.projectID = ld.projectID
      where ld.LastUpdated < (sysdate - 6/24)) q
-- This select in the in clause one returns 10 rows. Its a test database.
    On (q.projectID = p.projectID)
    )

Моля, имайте предвид, че отговорите на въпроси за настройка на производителността без достатъчно подробности са само предположения .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как мога да преведа FileNet ID ID в DB2/Oracle в приятелски GUID?

  2. Генериране на дати между две дати

  3. Извличане на стойности от 3 таблици

  4. SQL броене по група

  5. Използване на Dapper с Oracle