Re: effective_io_concurrency increasing

From: Peter Geoghegan <pg(at)bowt(dot)ie>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: Jeff Janes <jeff(dot)janes(at)gmail(dot)com>, "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>, Patrick B <patrickbakerbr(at)gmail(dot)com>, pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Re: effective_io_concurrency increasing
Date: 2017-06-20 00:20:03
Message-ID: CAH2-Wzkkd4wPzcGDSdzq7NJRXD8jP=BCMu3e4gijEwXN-Qm4ag@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Mon, Jun 19, 2017 at 4:51 PM, Peter Geoghegan <pg(at)bowt(dot)ie> wrote:
> This would make only the first lookup for each distinct value on the
> outer side actually do an index scan on the inner side. I can imagine
> the optimization saving certain queries from consuming a lot of memory
> bandwidth, as well as saving them from pinning and locking the same
> buffers repeatedly.

Apparently this is sometimes called block nested loop join, and MySQL
has had it for a while now:

https://en.wikipedia.org/wiki/Block_nested_loop

It doesn't necessarily require that the outer side input be sorted,
because you might end up using a hash table, etc.

--
Peter Geoghegan

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Maeldron T. 2017-06-20 00:50:33 Streaming replication bandwith per table
Previous Message Peter Geoghegan 2017-06-19 23:51:46 Re: effective_io_concurrency increasing