으로 쿼리 최적화 세 개의 테이블을 결합해야합니다. 첫 번째 행은 ~ 100k 행, 두 번째 행 ~ 300k 행 및 마지막 행 ~ 40 행이 있습니다. 첫 번째와 두 번째는 복합 조건에 의해 결합되어야하지만, 여기에 속임수가 있습니다. 쿼리를 실행하려면 OR
조건이어야합니다. OR 조건으로 인해 인덱스를 제대로 사용할 수 없습니다. 두 개의 어려운 테이블을 두 개의 분리 된 쿼리로 분리하고 이들을 유니온과 결합하여 mysql이 적절한 인덱스를 찾을 수 있도록 노력했습니다.또는
이 쿼리를 어떻게 최적화 할 수 있습니까?
select * from a, b, c where (a.x = b.x OR a.y = b.y) and b.z = c.z
첫 번째해야 할 일은 join 조건을 where 절 대신에 ON 조건으로 이동하는 것입니다. – cmd
잘 모르겠습니다. 지금은 시도 할 수 없지만 분리 만하면 도움이되는지 확인해 보겠습니다. 2 개의 다른 변이? – Nanne
Do not'SELECT * ' – Kermit