Skip site navigation (1) Skip section navigation (2)

Re: generalizing the planner knobs

From: Rod Taylor <pg(at)rbt(dot)ca>
To: Greg Stark <gsstark(at)mit(dot)edu>
Cc: "Pollard, Mike" <mpollard(at)cincom(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, "Jonah H(dot) Harris" <jonah(dot)harris(at)gmail(dot)com>, Neil Conway <neilc(at)samurai(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: generalizing the planner knobs
Date: 2005-12-02 20:51:52
Message-ID: 1133556712.28999.24.camel@home (view raw, whole thread or download thread mbox)
Lists: pgsql-hackers
On Fri, 2005-12-02 at 15:49 -0500, Greg Stark wrote:
> Rod Taylor <pg(at)rbt(dot)ca> writes:
> > > In the extreme, no amount of added intelligence in the optimizer is going to
> > > help it come up with any sane selectivity estimate for something like 
> > > 
> > >   WHERE radius_authenticate(user) = 'OK'
> > 
> > Why not?
> > 
> > The missing capability in this case is to be able to provide or generate
> > (self learning?) statistics for a function that describe a typical result
> > and the cost of getting that result.
> Ok, try "WHERE radius_authenticate(user, (select ...), ?)"
> The point is that you can improve the estimates the planner gets. But you can
> never make them omniscient. There will always be cases where the user knows
> his data more than the planner. And those hints are still valid when a new
> optimizer has new plans available.

You missed my point. If the user knows there data there is absolutely no
reason, aside from missing functionality in PostgreSQL, that statistics
cannot be generated to represent what the user knows about their data.

Once the planner knows the statistics it can make the right decision
without any hints.

The missing feature here is the ability to generate or provide
statistics and costs for functions.


In response to

pgsql-hackers by date

Next:From: Tom LaneDate: 2005-12-02 20:55:46
Subject: Re: Numeric 508 datatype
Previous:From: Greg StarkDate: 2005-12-02 20:49:02
Subject: Re: generalizing the planner knobs

Privacy Policy | About PostgreSQL
Copyright © 1996-2018 The PostgreSQL Global Development Group