Este tipo de JOIN
no es optimizable a HASH JOIN
o un MERGE JOIN
.
Se puede expresar como una concatenación de dos conjuntos de resultados:
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
, siendo cada uno de ellos un equijoin, sin embargo, SQL Server
El optimizador de no es lo suficientemente inteligente como para verlo en la consulta que escribió (aunque son lógicamente equivalentes).