Diese Art von JOIN
ist nicht auf einen HASH JOIN
optimierbar oder ein MERGE JOIN
.
Es kann als Verkettung von zwei Ergebnismengen ausgedrückt werden:
SELECT *
FROM maintable m
JOIN othertable o
ON o.parentId = m.id
UNION
SELECT *
FROM maintable m
JOIN othertable o
ON o.id = m.parentId
, wobei jeder von ihnen ein Equijoin ist, jedoch SQL Server
Der Optimierer von ist nicht intelligent genug, um es in der von Ihnen geschriebenen Abfrage zu sehen (obwohl sie logisch äquivalent sind).