On Mon, Sep 18, 2017 at 5:13 PM, Peter Geoghegan <p...@bowt.ie> wrote: > On Mon, Sep 18, 2017 at 2:07 PM, Robert Haas <robertmh...@gmail.com> wrote: >> On Mon, Sep 18, 2017 at 1:29 PM, Tom Lane <t...@sss.pgh.pa.us> wrote: >>> Uh, why does the planner need to be involved at all? >> >> Because it loses if the Bloom filter fails to filter anything. That's >> not at all far-fetched; consider SELECT * FROM a.x, b.x WHERE a.x = >> b.x given a foreign key on a.x referencing b(x). > > Wouldn't a merge join be a lot more likely in this case anyway? Low > selectivity hash joins with multiple batches are inherently slow; the > wasted overhead of using a bloom filter may not matter. > > Obviously this is all pretty speculative. I suspect that this could be > true, and it seems worth investigating that framing of the problem > first.
ISTR Tomas Vondra doing some experiments with this a few years ago and finding that it was, in fact, a problem. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers