2010-04-12 4 views
-1

하나는 더 빨리 mysql에서 실행 : 중첩 된 선택을 사용하여 여러 조인 또는 쿼리를 사용하여 쿼리를?어느 하나가 더 빨리 mysql에서 실행

+1

쿼리에 따라 다릅니다. –

+0

가능한 복제본 http://stackoverflow.com/questions/2131368/mysql-embedded-selects-vs-joins – meagar

+0

@meagar : 제공 한 링크에서 매우 명확한 상관 하위 쿼리와 같은 조인이므로 의사 결정을 내릴 수 있습니다. . 하지만 여기에는 특정 내용을 말하거나 특정 스레드를 가리키는 추가 세부 사항이 없습니다. – zerkms

답변

1

로 각각 분석해야합니다, 나는 항상 성능을 위해 다양한 쿼리를 테스트하는 것이 가장 좋습니다 하지만, 더 성능이 좋은 것 JOINS 말과 함께 갈 것입니다.

5

이 경우 대답 할 수 없습니다. 당신이 테이블에 대한 올바른 인덱스 감안할 때 EXPLAIN

+0

여기에 쿼리가 있습니다 (반환 값은 60,000입니다) SELECT @row : = @row + 1 AS rowno, t2.no, t3.fname, t3.lame, t2.syear, t2.fcode, t2. flcode, T2 FROM 은 (STID) t4.ecode가 ON T5 가입 = t5.ecode 사용하기 T4 가입 t3.pid = t2.pid ON T3 가입 t2.pid WHERE t5.cat = '1'T3 ORDER BY .lname, t3.lname 모든 테이블에 인덱스가 있습니다. 아직 중첩 된 선택을 테스트하지 않았습니다. –

+0

새로운 질문을 올리십시오 ... 나는 60k 레코드의 filesort를하는 동안 시간이 좀 걸릴 것이라고 생각합니다. 행 크기 및 기타 많은 요소에 의존 할 것이며, 쿼리와 함께 새로운 질문을 게시하고, 모든 테이블의 스키마와 설명을 게시하십시오. 계획. – MarkR

0

대부분의 경우 JOINS가 더 효율적입니다. 여기서는 색인 된 열에 합류한다고 가정합니다. 그런데 위의 대답은 옳습니다. 표시하려면 EXPLAIN을 사용하여 특정 검색어를 평가해야합니다.

관련 문제