----- Original Message ----- From: Tom Lane To: Midge Brown Cc: pgsql-performance@postgresql.org Sent: Friday, August 03, 2012 11:26 PM Subject: Re: [PERFORM] slow query, different plans
"Midge Brown" <midg...@sbcglobal.net> writes: > I'm having a problem with a query on our production server, but not on a laptop running a similar postgres version with a recent backup copy of the same table. I tried reindexing the table on the production server, but it didn't make any difference. Other queries on the same table are plenty fast. Reindexing won't help that. The problem is a bad statistical estimate; it thinks there are about 700 rows with applies2 = 256, when there's really only one. That means the "fast" plan is a lot faster than the planner gives it credit for, and conversely the "slow" plan is a lot slower than the planner is expecting. Their estimated costs end up nearly the same, which makes it a bit of a chance matter which one is picked --- but the true costs are a lot different. So you need to fix that rowcount estimate. Raising the stats target for the table might help. regards, tom lane -- I added "and ts is not null" to the query and the planner came back with .102 ms. The problem area in production went from a 10 second response to < 1 second. Thanks for the responses. -Midge