2012-12-06 2 views
0

그래서 저는 부동산 웹 사이트를 운영합니다. 통계 페이지를 작성하는 약 5 개의 쿼리를 실행하는 페이지가 있습니다. 내가 속도를 높이거나 쿼리를 최적화하거나 결합하여 더 빨리 실행하는 방법이 있는지 궁금합니다. 지금은 페이지를 실행하는 데 최대 5 초가 걸립니다.속도 향상 - 하나의 페이지에 여러 개의 MySQL 쿼리가 있습니다.

검색어 : 그래서

SELECT COUNT(`listing_num`) as `count`, 
     AVG(`price`), 
     AVG(`square_feet`), 
     AVG(`bedroom_total`), 
     AVG(`bathroom_total`), 
     MIN(`price`), 
     MAX(`price`), 
     MIN(`square_feet`), 
     MAX(`square_feet`), 
     MIN(`bathroom_total`), 
     MAX(`bathroom_total`), 
     MIN(`bedroom_total`), 
     MAX(`bedroom_total`), 
     MIN(`psf`), 
     MAX(`psf`), 
     AVG(`psf`) 
FROM  `Res_Active2` 
WHERE `status` != 'S' 

내가 계약 특성, 등 아래,이 쿼리에게 내가 판매 속성, 활성 특성에 대한 통계를 표시 할 수 있도록 각 변경 WHERE 절에있는 페이지에 대한 6 개의 번 실행

이 작업을 수행하는 올바른 방법과 빠른 방법은 무엇입니까? 캐시를 사용할 수 있고, SQL을 결합 할 수 있습니까? 나는이 페이지를 빠르게 할 필요가있다. 감사.

+0

색인이 있습니까? MySQL 쿼리 캐시를 사용할 수 있습니까? 나는 수백 개의 쿼리를 실행하는 페이지를 가지고 있으며 여전히 1 초 또는 2 초 내에 생성됩니다. – GolezTrol

+2

'SHOW CREATE TABLE Res_Active2'의 출력을 질문에 추가 할 수 있습니까? –

+0

대신에 GROUP BY 상태를 사용하지 못했습니다. – prodigitalson

답변

0

설정 mysql 쿼리 캐시를 사용해보십시오. 한 번만 수행하고 다른 모든 쿼리에서 결과를 다시 사용합니다. 당신이 보류이 특별한 테이블을 만들 수 있습니다, 당신이 도움이되지 않으면 당신의 /etc/my.conf

query_cache_size=30M 

에 추가 한 정도로 될 것입니다에 대한 MySQL의 캐시 mysql cache

내가 확신 볼 수 있도록하려면 외부 스크립트에 의해 매 X 분마다 결과와 그 쿼리의 결과.

+0

정말 고마워요. 그것은 매력처럼 작동했습니다. 이제 페이지가 최대 1-2 초 동안로드됩니다. 정말 고맙습니다. – user982853

관련 문제