Loại JOIN
này không thể tối ưu hóa thành HASH JOIN
hoặc MERGE JOIN
.
Nó có thể được thể hiện dưới dạng kết hợp của hai tập kết quả:
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
, mỗi người trong số chúng là một phần tử tương đương, tuy nhiên, SQL Server
Trình tối ưu hóa của không đủ thông minh để nhìn thấy nó trong truy vấn bạn đã viết (mặc dù chúng tương đương về mặt logic).