Re: No hash join across partitioned tables?

Kris Jurka <books@ejurka.com>

From: Kris Jurka <books@ejurka.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: pgsql-performance@postgresql.org
Date: 2009-04-16T23:30:51Z
Lists: pgsql-hackers, pgsql-performance

Attachments


On Thu, 16 Apr 2009, Tom Lane wrote:

> Kris Jurka <books@ejurka.com> writes:
>> PG (8.3.7) doesn't seem to want to do a hash join across two partitioned
>> tables.
>
> Could we see the whole declaration of these tables?  (pg_dump -s output
> would be convenient)
>

The attached table definition with no data wants to mergejoin first, but 
after disabling mergejoin it does indeed do a hashjoin.

Looking back at the cost estimates for the merge and nestloop joins, it 
seems to be selecting the number of rows in the cartesian product * .005 
while the number of output rows in this case is 2437 (cartesian product * 
4e-9).  Perhaps the cost estimates for the real data are so high because 
of this bogus row count that the fudge factor to disable mergejoin isn't 
enough?

Kris Jurka