2013-08-20 4 views
0

SQL이 있습니다. "SELECT"입니다. 그것을 보여줄 수는 없지만 5 개의 노동 조합과 많은 조인 (내부와 왼쪽)이 있습니다. 나는 또한 필요한 모든 색인을 만들었습니다. 로컬 머신에서는 결과를 얻기 위해 1 초도 걸리지 않습니다 (~ 0.5 초). 그러나 서버에서는 매우 오랜 시간이 걸립니다. 로컬 컴퓨터와 서버의 데이터베이스가 동일합니다. 최근에 서버 데이터베이스를 덤프하고 로컬 시스템에 복원했습니다. 약 35 분 전에이 SQL의 "EXPLAIN"을 시작했으며 여전히 실행 중입니다. 또한 프로세스 목록에서 해당 설명에 대한 "tmp 테이블로 복사"레이블을 참조하십시오. 모든 테이블이 최적화되어 있습니다. MyISAM 및 InnoDB 엔진으로 테스트를 마쳤습니다. 서버로드 평균이 1보다 작 으면 MySQL도 부하가 적습니다.매우 느리게 실행되는 쿼리

클라우드 서비스의 경우 서버가 중요 할 수 있습니다. 클라우드 통계에 액세스 할 수 없습니다. 서버를 사용하십시오.

나를 제안 할 수 있습니까?

+0

설명하는 데 35 분이 걸립니까? Google MySql은 느리게 설명합니다. –

+0

설명에 35 분이 소요되는 경우 서버 또는 서버 연결에 중대한 문제가 있습니다. –

+0

쿼리를 표시하고 테이블 이름/필드 등을 변경할 수 있습니까? – JsonStatham

답변

0

이유를 발견했습니다. 앞에서 (의견에서) 말한 것처럼 모든 하위 쿼리에 대해 EXPLAIN을 수행했으며 로컬 컴퓨터에서 동일한 EXPLAIN을 사용하여 몇 가지 차이점을 발견했습니다 (5 개의 하위 쿼리 중 2 개). 추가 색인을 작성하여 해결했습니다. 다른 기계 - 다른 결과. 약간의 차이점이있을 것으로 예상했지만 EXPLAIN조차도 할 수 없었습니다. 이상합니다. 부분적인 EXPALIN만을 도와주었습니다.

고맙습니다.

관련 문제