Idag upplevde jag samma problem med en inre Join. Som att skapa en tabellvärderad funktion föreslagit av codechurn eller använda en Tillfällig tabell föreslagit av user1935511 eller ändra anslutningstyper föreslagit av cymorg finns inga alternativ för mig, jag delar gärna med mig av min lösning.
Jag använde Gå med tips för att driva frågeoptimeraren i rätt riktning, eftersom problemet tycks uppstå från kapslade loopar som ansluter strategin till fjärrtabellen lokalt . För mig HASH , SAMMANSLUT och FJÄRR anslutningstips fungerade.
För dig FJÄRR kommer inte att vara ett alternativ eftersom det endast kan användas för inre sammanfogningsoperationer. Så att använda något i stil med följande borde fungera.
select *
from eopf.Batch b
join eopf.BatchFile bf
on b.BatchID = bf.BatchID
left outer merge join [OM_ORACLE]..[OM].[DOCUMENT_UPLOAD] du
on bf.ReferenceID = du.documentUploadID;