Tomas Vondra wrote: > Yes, that's clearly the culprit here. In both cases we estimate here are > only ~4000 tuples in the hash, and 9.3 sizes the hash table to have at > most ~10 tuples per bucket (in a linked list). > > However we actually get ~3M rows, so there will be ~3000 tuples per > bucket, and that's extremely expensive to walk. The reason why 100MB is > faster is that it's using 2 batches, thus making the lists "just" ~1500 > tuples long. > > This is pretty much exactly the reason why I reworked hash joins in 9.5. > I'd bet it's going to be ~20x faster on that version. Thank you for the explanation! Yours, Laurenz Albe -- Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-performance