Sql stUpdated

Sql stUpdated,sql,oracle,merge,query-optimization,distributed-transactions,Sql,Oracle,Merge,Query Optimization,Distributed Transactions,stUpdated


stUpdatedSelect distinct ProjectID from Project where LastUpdated < (sysdate - 6/24);
    Merge into project 
     using (select /*+DRIVING_SITE(remoteCompData)*/ 
            rp.projectID,
            rp.otherdata
            FROM Them.Remote_Data@DBLink rd
            WHERE rd.projectID in (1,2,3)) sourceData -- hardcoded IDs
    On (rd.projectID = project.projectID)

When matched...
    Merge into project 
     using (select /*+DRIVING_SITE(rd)*/ -- driving site helps when this piece is extracted from the larger statement
            rp.projectID,
            rp.otherdata
            FROM Them.Remote_Data@DBLink rd
            WHERE rd.projectID in --in statement that works quickly by itself.
               (Select distinct ProjectID from Project where LastUpdated < (sysdate - 6/24)) 
-- This select in the in clause one returns 10 rows. Its a test database.
    On (rd.projectID = project.projectID)
    )

When matched...
Merge into project p
using (select rp.projectID,
              rp.otherdata
       FROM Project ld
            inner join Them.Remote_Data@DBLink 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)
    )