Den här typen av JOIN
kan inte optimeras till en HASH JOIN
eller en MERGE JOIN
.
Det kan uttryckas som en sammanlänkning av två resultatuppsättningar:
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
, var och en av dem är en equijoin, dock SQL Server
s optimizer är inte smart nog att se den i frågan du skrev (även om de är logiskt likvärdiga).