<kynn@xxxxxxxxx> writes: > Limit (cost=19676.75..21327.99 rows=6000 width=84) > -> Hash Join (cost=19676.75..1062244.81 rows=3788315 width=84) > Hash Cond: (upper(("outer".id)::text) = upper(("inner".id)::text)) > -> Seq Scan on huge_table h (cost=0.00..51292.43 rows=2525543 width=46) > -> Hash (cost=19676.00..19676.00 rows=300 width=38) > -> Seq Scan on tiny_table t (cost=0.00..19676.00 rows=300 width=38) Um, if huge_table is so much bigger than tiny_table, why are the cost estimates for seqscanning them only about 2.5x different? There's something wacko about your statistics, methinks. regards, tom lane