Este tipo de
JOIN
não é otimizável para um HASH JOIN
ou um MERGE JOIN
. Pode ser expresso como uma concatenação de dois 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
, cada um deles sendo um equijoin, no entanto,
SQL Server
O otimizador de 's não é inteligente o suficiente para vê-lo na consulta que você escreveu (embora sejam logicamente equivalentes).