Dit soort JOIN
kan niet worden geoptimaliseerd tot een HASH JOIN
of een MERGE JOIN
.
Het kan worden uitgedrukt als een aaneenschakeling van twee resultatensets:
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
, elk van hen is echter een equijoin, SQL Server
's optimizer is niet slim genoeg om het te zien in de query die je hebt geschreven (hoewel ze logisch equivalent zijn).