Re: multivariate statistics (v19)
Heikki Linnakangas <hlinnaka@iki.fi>
From: Heikki Linnakangas <hlinnaka@iki.fi>
To: Dean Rasheed <dean.a.rasheed@gmail.com>
Cc: Tomas Vondra <tomas.vondra@2ndquadrant.com>, Michael Paquier <michael.paquier@gmail.com>, Robert Haas <robertmhaas@gmail.com>, Tatsuo Ishii <ishii@postgresql.org>, David Steele <david@pgmasters.net>, Tom Lane <tgl@sss.pgh.pa.us>, Álvaro Herrera <alvherre@2ndquadrant.com>, Petr Jelinek <petr@2ndquadrant.com>, Jeff Janes <jeff.janes@gmail.com>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2016-10-04T08:15:27Z
Lists: pgsql-hackers
On 10/04/2016 10:49 AM, Dean Rasheed wrote: > On 30 September 2016 at 12:10, Heikki Linnakangas <hlinnaka@iki.fi> wrote: >> I fear that using "statistics" as the name of the new object might get a bit >> awkward. "statistics" is a plural, but we use it as the name of a single >> object, like "pants" or "scissors". Not sure I have any better ideas though. >> "estimator"? "statistics collection"? Or perhaps it should be singular, >> "statistic". I note that you actually called the system table >> "pg_mv_statistic", in singular. > > I think it's OK. The functional dependency is a single statistic, but > MCV lists and histograms are multiple statistics (multiple facts about > the data sampled), so in general when you create one of these new > objects, you are creating multiple statistics about the data. Ok. I don't really have any better ideas, was just hoping that someone else would. > Also I find "CREATE STATISTIC" just sounds a bit clumsy compared to > "CREATE STATISTICS". Agreed. > The convention for naming system catalogs seems to be to use the > singular for tables and plural for views, so I guess we should stick > with that. However, for tables and views, each object you store in those views is a "table" or "view", but with this thing, the object you store is "statistics". Would you have a catalog table called "pg_scissor"? We call the current system table "pg_statistic", though. I agree we should call it pg_mv_statistic, in singular, to follow the example of pg_statistic. Of course, the user-friendly system view on top of that is called "pg_stats", just to confuse things more :-). > It doesn't seem like the end of the world that it doesn't > match the user-facing syntax. A bigger concern is the use of "mv" in > the name, because as has already been pointed out, this table may also > in the future be used to store univariate expression and partial > statistics, so I think we should drop the "mv" and go with something > like pg_statistic_ext, or some other more general name. Also, "mv" makes me think of materialized views, which is completely unrelated to this. - Heikki
Commits
-
Collect and use multi-column dependency stats
- 2686ee1b7ccf 10.0 landed
-
Implement SortSupport for macaddr data type
- f90d23d0c518 10.0 cited
-
Implement multivariate n-distinct coefficients
- 7b504eb282ca 10.0 landed
-
Generate fmgr prototypes automatically
- 352a24a1f9d6 10.0 cited