/*+DRIVING_SITE(rd)*/
nápověda nefunguje s MERGE, protože operace musí běžet v databázi, kde se nachází sloučená tabulka. Což je v tomto případě lokální databáze. To znamená celou sadu výsledků ze vzdálené tabulky je načten přes odkaz na databázi a poté filtrován podle dat z místní tabulky.
Takže nápovědu zahoďte. Také doporučuji převést klauzuli IN na spojení:
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)
)
Mějte prosím na paměti, že odpovědi na otázky týkající se ladění výkonu bez dostatečných podrobností jsou jen odhady .