I manage to avoid the disk sort after performing a VACUUM ANALYSE; And with a session work_mem = '250MB'
* SQL http://paste.debian.net/1070207/ * EXPLAIN https://explain.depesz.com/s/nJ2y It stills spent 16s It seems this kind of query will need better hardware to scale... Thanks for your help Le lun. 25 févr. 2019 à 19:30, Michael Lewis <mle...@entrata.com> a écrit : > > > On Mon, Feb 25, 2019 at 2:44 AM kimaidou <kimai...@gmail.com> wrote: > >> I have better results with this version. Basically, I run a first query >> only made for aggregation, and then do a JOIN to get other needed data. >> >> * SQL : http://paste.debian.net/1070007/ >> * EXPLAIN: https://explain.depesz.com/s/D0l >> >> Not really "fast", but I gained 30% >> > > > It still seems that disk sort and everything after that is where the query > plan dies. It seems odd that it went to disk if work_mem was already 250MB. > Can you allocate more as a test? As an alternative, if this is a frequently > needed data, can you aggregate this data and keep a summarized copy updated > periodically? >