"Jeremy Haile" <jhaile@xxxxxxxxxxx> writes: > I still don't understand why the inner join would be so different from > the left join prior to the analyze. Are you sure you hadn't analyzed in between? Or maybe autovac did it for you? The reason for the plan change is the change from estimating 1 row matching the transaction_date range constraint, to estimating lots of them, and the join type away up at the top would surely not have affected that. regards, tom lane