Excerpts from Robert Haas's message of mié oct 20 10:29:04 -0300 2010:
> Actually, I think the best thing for default_statistics_target might
> be to scale the target based on the number of rows in the table, e.g.
> given N rows:
>
> 10 + (N / 1000), if N < 40,000
> 46 + (N / 10000), if 50,000 < N < 3,540,000
> 400, if N > 3,540,000
>
> Consider a table with 2,000 rows. With default_statistics_target =
> 100, we can store up to 100 MCVs; and we break the remaining ~1900
> values up into 100 buckets with 19 values/bucket.
Maybe what should be done about this is to have separate sizes for the
MCV list and the histogram, where the MCV list is automatically sized
during ANALYZE.
--
Álvaro Herrera <alvherre@commandprompt.com>
The PostgreSQL Company - Command Prompt, Inc.
PostgreSQL Replication, Consulting, Custom Development, 24x7 support