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. -- Peter Geoghegan -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers