내 웹 사이트에 PHP & MySQL을 사용 중이며 일부 메트릭을 집계하여 클라이언트에 대한 보고서를 생성해야합니다. 메트릭은 MyISAM 엔진을 사용하고 12 개의 PARTITIONS에 분산되어있는 4 백만 행 테이블에서 찾을 수 있습니다. PHP는 루프에서 동일한 한계의 MySQL SELECT 쿼리가 느려지고 느려짐
의 (a에 대한 루프), 반복 할 때마다, 나는 UNION과 같은 임시 테이블과 조인id = X OR id =Y OR id = Z
(나는 어떤 내부를 사용하지 않는으로 특정 ID와 일치 1,000 행을 검색 1 id UNION 2 등등. id의 해시에 의존하는 파티션 옵션 때문일 수 있습니다.
문제는 쿼리가 느리고 느리게 진행되는 것입니다. 점진적으로 캐시되는 것으로 인해 발생할 수 있지만 무엇이 있는지 모르겠습니다.
어떤 도움이라도 매우 소중하게 생각합니다. 많은 감사드립니다.
은 시간이 지남에 따라 성장하여 큰 테이블의 행 수 있습니까? 이 id 열에 여러 번 검색하는 색인이 있습니까? ('OR' 절은 다중 검색을 유발할 수 있습니다.)'id'는 기본 키입니까? –
행렬 집계 ... 추가 테이블과 관련된 조인이있는 경우 표시되지 않는 항목이 더 있습니다. 문제/지연을 유발하는 쿼리를 게시 할 수 있습니까? – DRapp
ID는 기본 키이며 조인이 없습니다. 보다 간단한 솔루션과 장기적인 목적을 위해 지금 Hadoop을 사용하고 있습니다! 문제 해결됨! 도와 주신 모든 분들께 감사드립니다! – hmicn