Re: Stopgap solution for table-size-estimate updating problem - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Stopgap solution for table-size-estimate updating problem
Date
Msg-id 21662.1101681353@sss.pgh.pa.us
Whole thread Raw
In response to Re: Stopgap solution for table-size-estimate updating  (Simon Riggs <simon@2ndquadrant.com>)
Responses Re: Stopgap solution for table-size-estimate updating  (Simon Riggs <simon@2ndquadrant.com>)
List pgsql-hackers
Simon Riggs <simon@2ndquadrant.com> writes:
> Given we expect an underestimate, can we put in a correction factor
> should the estimate get really low...sounds like we could end up
> choosing nested joins more often when we should have chosen merge joins.

One possibility: vacuum already knows how many tuples it removed.  We
could set reltuples equal to, say, the mean of the number-of-tuples-
after-vacuuming and the number-of-tuples-before.  In a steady state
situation this would represent a fairly reasonable choice.  In cases
where the table size has actually decreased permanently, it'd take a few
cycles of vacuuming before reltuples converges to the new value, but that
doesn't seem too bad.

A standalone ANALYZE should still do what it does now, though, I think;
namely set reltuples to its best estimate of the current value.
        regards, tom lane


pgsql-hackers by date:

Previous
From: Thomas Hallgren
Date:
Subject: Re: Status of server side Large Object support?
Next
From: Tom Lane
Date:
Subject: Re: Adding a suffix array index