2013-06-22 4 views
1

저를 도와주세요 소셜 네트워크, 내 쿼리, MySQL의 쿼리를 가입빠른위한 테이블을 조인하는 방법

SELECT tab1.idxx, tab1.una, tab1.isi, tab1.berkat, tab1.type, tab1.forr, tab1.ft, tab1.llt 
    FROM akpen t2 , tab1 
WHERE una = t2.tuj 
    AND t2.perm = 'adhy' 
order by time DESC 
limit 7 

내 사이트에 10,000 명의 사용자를 가지고 쿼리 이미지와 같은 데이터를로드하는 데 1 분 소요 종종 나타납니다 오류

내 쿼리에 http://i.stack.imgur.com/QjgzD.jpg

, 내가 쇼 만 7 데이터를 제한,하지만 난 내 쿼리를 "설명"하면, MySQL은 모든 데이터를 읽은 다음 한도에서,하지에 데이터 한도 사전

+0

우리는 귀하의 PHP를 볼 수 있습니까? – imulsion

+0

이미지로드 오류가 MySQL 쿼리 속도 범위를 벗어났습니다. – Raptor

+0

데이터 읽기 속도가 매우 느리기 때문에 쿼리가 잘못되었습니다. –

답변

0

10000 명의 사용자에게 1 분이 너무 많습니다.

JOIN 구성의 필드에 색인을 추가하십시오. 그리고 시도해보십시오 :

SELECT tab1.idxx, tab1.una, tab1.isi, tab1.berkat, tab1.type, tab1.forr, tab1.ft, tab1.llt 
    FROM akpen t2 
INNER JOIN tab1 ON tab1.una = t2.tuj 
WHERE t2.perm = 'adhy' 
order by time DESC 
limit 7 
+1

'akpen t2에서'뒤에 쉼표를 제거하십시오. 인덱스를 추가하는 것 외에이 쿼리가 실행 프로세스를 어떻게 촉진 하는가? 'FROM akpen t2, tab1'도 기본적으로 내부 조인을하고 있습니다. 맞습니까? –

+0

감사합니다. 쉼표가 제거되었습니다. 내 생각 엔 - 인덱스는 쿼리 실행 속도를 아주 좋아합니다. – yAnTar

+0

여전히 같은 오류가 나타났습니다. 사용자가 처음에는 조금했지만 쿼리가 완벽하게 실행되었지만 이제는 10,000 명의 사용자가 있습니다. 그림과 같은 오류가 발생했습니다. –

관련 문제