On 10/29/2015 11:24 AM, Tom Lane wrote: > Matthew Bellew <matthewb@xxxxxxxxxx> writes: >> I made have several users encounter performance problems, which all >> seem to come down to this problem: multiplying selectivity estimates can >> cause tuple estimates to grow very small very quickly, once the estimator >> gets to 1 row, the planner may choose plans that are very good ONLY WHEN >> there is exactly 1 row (maybe even O(N^large)). Unfortunately, these may >> be the worst plans if the estimate is even slightly off (even just >> returning 2 or 3 rows versus 1). > > Yeah, this is a well-known problem. There has been prior discussion along > the same lines as you mention (only believe 1-row estimates when it's > provably true that there's at most one row), but it hasn't looked like an > easy change. See the pgsql-hackers archives for previous threads. Also see Tomas's correlated stats patch submitted for 9.6. -- Josh Berkus PostgreSQL Experts Inc. http://pgexperts.com -- Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-performance