저는 PostgreSQL의 초보자입니다. 나는 순서로, 총 호출에 LIMIT
조항을 삽입하는 방법을 발견 havn't는PostgreSQL 제한 성능이있는 집계 그룹
SELECT s.id, s.name, s.url,
(SELECT array_agg(p.url)
FROM (
SELECT url
FROM pages
WHERE site_id = s.id ORDER BY created DESC LIMIT 5
) as p
) as last_pages
FROM sites s
: 다음 쿼리의 실행 시간을 개선 할 수있는 방법이있다.
테이블 pages
에 created
(timestamp
)와 site_id
(integer
)에 의해 인덱스가 있지만 pages.site_id
에 sites.id
에서 외래 키는 불행하게도, 존재하지 않는다. 이 쿼리는 가장 최근에 생성 된 5 개의 하위 목록이있는 사이트 목록을 반환하기위한 것입니다.
PostgreSQL 버전은 9.1.5입니다.
쿼리가 수행해야 할 작업을 설명하고 테이블, 관계 등 데이터에 대한 일반 정보를 제공하면 도움이되는 경우가 많습니다. 사용 가능한 옵션에 영향을 줄 수있는 모든 질문에 PostgreSQL 버전을 지정하십시오. 'EXPLAIN ANALYZE' 결과를 보여줍니다. [tag : postgresql-performance]의 정보 페이지를보십시오. –
질문을 편집하여 정보를 추가하는 것이 가장 좋습니다. http://stackoverflow.com/tags/postgresql-performance/info –
Craig의 링크 외에도 http://wiki.postgresql.org/wiki/SlowQueryQuestions –