MySQLでOR
の最適化に問題が発生することがあります クエリ。この場合、UNION
を使用して、2つのクエリに分割できます。 :
SELECT * FROM relationship WHERE e_e_oid = @value1
UNION
SELECT * FROM relationship WHERE e_e_oid2 = @value2
各サブクエリは適切なインデックスを利用し、結果がマージされます。
ただし、単純なケースでは、MySQLはこの変換を自動的に実行でき、クエリで実行します。それがUsing union
です EXPLAIN
で 出力手段。