3 つのテーブルを結合する必要があります。最初のものは ~100k 行、2 つ目は ~300k 行、最後のものは ~40 行です。1 番目と 2 番目は複合条件で結合する必要がありますが、ここにトリックがあります。クエリでは、それがOR
条件である必要があります。OR 条件のため、インデックスを適切に使用できません。2 つの難しいテーブルを 2 つの個別のクエリに分割し、それらをユニオンで結合して、mysql が適切なインデックスを見つけられるようにしました。
このクエリを最適化するにはどうすればよいですか?
select * from a, b, c where (a.x = b.x OR a.y = b.y) and b.z = c.z