On Mon, Sep 18, 2017 at 2:07 PM, Robert Haas <[email protected]> wrote: > On Mon, Sep 18, 2017 at 1:29 PM, Tom Lane <[email protected]> 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 ([email protected]) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
