Re: Questions on query planner, join types, and work_mem - Mailing list pgsql-performance

From Alvaro Herrera
Subject Re: Questions on query planner, join types, and work_mem
Date
Msg-id 1280289550-sup-6155@alvh.no-ip.org
Whole thread Raw
In response to Re: Questions on query planner, join types, and work_mem  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Questions on query planner, join types, and work_mem  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-performance
Excerpts from Tom Lane's message of mar jul 27 20:05:02 -0400 2010:
> Peter Hussey <peter@labkey.com> writes:

> > 2) How is work_mem used by a query execution?
>
> Well, the issue you're hitting is that the executor is dividing the
> query into batches to keep the size of the in-memory hash table below
> work_mem.  The planner should expect that and estimate the cost of
> the hash technique appropriately, but seemingly it's failing to do so.
> Since you didn't provide EXPLAIN ANALYZE output, though, it's hard
> to be sure.

Hmm, I wasn't aware that hash joins worked this way wrt work_mem.  Is
this visible in the explain output?  If it's something subtle (like an
increased total cost), may I suggest that it'd be a good idea to make it
explicit somehow in the machine-readable outputs?

pgsql-performance by date:

Previous
From: Robert Haas
Date:
Subject: Re: Pooling in Core WAS: Need help in performance tuning.
Next
From: Jayadevan M
Date:
Subject: Re: Questions on query planner, join types, and work_mem