On 7 May 2014 13:31, Robert Haas <robertmhaas@gmail.com> wrote:
> On Wed, May 7, 2014 at 3:18 AM, Simon Riggs <simon@2ndquadrant.com> wrote:
>> If we believe that 25% of shared_buffers worth of heap blocks would
>> flush the cache doing a SeqScan, why should we allow 400% of
>> shared_buffers worth of index blocks?
>
> I think you're comparing apples and oranges.
I understood the distinction, which is why I changed the direction of
my thinking to say
> Yes, we can make plans assuming we can use OS cache,
> but we shouldn't be churning shared_buffers when we execute those
> plans.
and hence why I proposed
> I think I'm arguing myself towards using a BufferAccessStrategy of
> BAS_BULKREAD for large IndexScans, BitMapIndexScans and
> BitMapHeapScans.
which I hope will be effective in avoiding churn in shared_buffers
even though we may use much larger memory from the OS.
-- Simon Riggs http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training & Services