2009-07-09 3 views
0

Joomla 1.5 및 VirtueMart 1.1.3을 사용하고 있습니다.Joomla/VirtueMart를 사용하는 대형 MySQL tmp 파일

특정 쿼리를 실행할 때마다 1.6GB의 tmp 파일이 만들어지는 문제가 있습니다. 이게 정상인가? 나는 virtuemart가 거대한 join 문을 사용하여 전체 제품 테이블과 몇 개의 다른 테이블을 가져온다고 생각합니다. 쿼리를 작성하는 파일을 찾았지만 어디에서 최적화 할 것인지 알 수 없습니다. 비록 virtuemart가이 파일을 사용하여 모든 SQL 문을 작성한 것처럼 보이더라도 무언가를 깨뜨릴 수 있습니다.

답변

0

MySQL slow query log (및/또는 사용 가능)에서 시간과 공간을 사용하는 특정 쿼리를 볼 수 있습니다. 이를 통해 MySQL의 EXPLAIN 기능을 사용하여 쿼리가 왜 느린 지 확인할 수 있습니다.

운이 좋다면, VirtueMart 개발자는 테이블에 유효한 인덱스를 추가하지 않았기 때문에 MySQL이 느린 방식으로 작업해야합니다 (예 : filesort 등). 당신이 불행하다면, 스키마를 변경해도 도움이되지 않을 것이므로 VirtueMart 개발자와 함께이 문제를 해결하거나 직접 고쳐야 할 것입니다.

어쨌든 솔루션을 찾으면 VirtueMart 팀에 알려야합니다.

행운을 빈다.

+0

대단히 감사합니다. 쿼리 중 하나가 파일롯을 사용하고 있음을 발견했습니다. – Samuel

관련 문제