2014-09-11 3 views
1

retu rn 똑같은 결과가 사용하기에 좋은가요?
참고 : 내 경우 table2는 단일 행을 포함에서만


는 (및 기타)를 읽고있다가 shouldn 이후 최선을 이해할 수 query no.1query no.2

+1

'explain analyze'의 결과를 비교하십시오. 하위 쿼리에'WHERE ... '절이 없으면 두 번째 매개 변수는 오류로 인해 실패합니다. –

답변

2

설명 출력과 table2에 하나의 행만 포함되어있는 특수한 경우를 고려할 때 두 번째 계획이 빠를 것으로 기대합니다.

중첩 루프를 피하는 것이 중요한 이점입니다.

하위 쿼리가이 한 행의 상관 관계가없는 하위 쿼리가 아닌 WHERE 절이있는 일반 상관 된 하위 쿼리 인 경우 상황이 달라질 수 있습니다. 두 개의 질의는 아마도 같은 계획을 초래할 것입니다.

0

내가 쿼리를 사용하도록 제안에 대해 ANALYZE EXPLAIN 그다지 성능 문제는 아닙니다.

+0

특정 검색어를 제안 하시겠습니까 ?? –

+0

개인적으로 쿼리 1은 조인이 더 분명하기 때문에 더 빨리 이해할 수있는 것처럼 보입니다. 빨리 읽는다면, "from table2"는 당신이 범위에 있기 때문에 쉽게 "from table1"이 될 수 있습니다. "교차 결합"이 더 잘 보입니다. – Kostronor