2011-08-19 6 views
0

나는 3 개 개의 다른 테이블에서 데이터가 필요?MySQL의 성능 : 3 테이블 또는 2 쿼리를 통해 1 쿼리?</p> <ol> <li><p>Catergory 테이블</p></li> <li><p>Scoretable 1</p></li> <li><p>Scoretable 2</p></li> </ol> <p>이제 성능을 위해 더 나은 무엇입니까 :

  1. 만들기 (3)는

  2. 2 개 쿼리를 확인하고 scoretable 연결 1, 2 및 범주

  3. 연결 1 3 개 쿼리에 대해 일반 선택 쿼리를 만드는 SELECT 쿼리

    을 구분?

수 2 :

SELECT scoretable1.category, scoretable1.score, scoretable2.score 
FROM scoretable1, scoretable2 
WHERE scoretable1.consultant = scoretable2.consultant 
AND scoretable2.consultant = '14' 
AND scoretable1.category = scoretable2.category 

대단히 감사합니다!

P. 카테고리 테이블은 매우 작기 때문에 직렬화 된 배열로 캐시 파일로 내보낼 수도 있습니다. (어쩌면이 테이블에 대한 최선의 방법)

+0

당신은 두 가지 방법이 시도하지 않는 이유 , 그리고 어느 것이 더 빠르는지 보시오. – aroth

답변

1

내 생각에 하나의 쿼리에서하는 것이 가장 좋습니다. 그러나 나는 절대적으로 확신하지 못합니다. 어쩌면 query analyser이 당신을 도울 수 있습니다.

0

가장 빠른는 INNER 그냥 프로그램 내에서 선택 1000을하려고, 두 개의 다른 사람에게 카테고리 테이블에서 가입 및 모든 다른 방법으로 걸리는 시간을 확인할 것