0

私は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

LIMIT順序として、句を集約呼び出しに挿入する方法が見つかりませんでした。

tableにはcreated( timestamp) とsite_id( )によるインデックスがありますが、 toの外部キーは残念ながら存在しません。このクエリは、最近作成された 5 つのページのサブリストを含むサイトのリストを返すことを目的としています。integerpagessites.idpages.site_id

PostgreSQL のバージョンは 9.1.5 です。

4

1 に答える 1