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
- hash-join-partition.sql (text/plain)
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