Đôi khi MySQL gặp sự cố khi tối ưu hóa OR
truy vấn. Trong trường hợp này, bạn có thể chia nó thành hai truy vấn bằng cách sử dụng UNION
:
SELECT * FROM relationship WHERE e_e_oid = @value1
UNION
SELECT * FROM relationship WHERE e_e_oid2 = @value2
Mỗi truy vấn con sẽ sử dụng chỉ mục thích hợp và sau đó kết quả sẽ được hợp nhất.
Tuy nhiên, trong những trường hợp đơn giản, MySQL có thể tự động thực hiện chuyển đổi này và nó đang làm như vậy trong truy vấn của bạn. Đó là những gì Using union
trong EXPLAIN
đầu ra có nghĩa là.