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