Този вид JOIN
не може да се оптимизира за HASH JOIN
или MERGE JOIN
.
Може да се изрази като конкатенация на два резултатни набора:
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
, като всеки от тях е равнопоставен, но SQL Server
Оптимизаторът на 's не е достатъчно умен, за да го види в заявката, която сте написали (въпреки че са логически еквивалентни).