On Wed, May 22, 2013 at 7:41 AM, <fburgess@xxxxxxxxxxxxxxx> wrote:
PostgreSQL 9.1.6 on linux
From the numbers in your attached plan, it seems like it should be doing a nested loop from the 580 rows (it thinks) that match in SARS_ACTS_RUN against the index on sars_run_id to pull out the 3297 rows (again, it think, though it is way of there). I can't see why it would not do that. There were some planner issues in the early 9.2 releases that caused very large indexes to be punished, but I don't think those were in 9.1
Could you "set enable_hashjoin to off" and post the "explain analyze" that that gives?
Cheers,
Jeff