Re: [PERFORM] Hints proposal

From: "Bucky Jordan" <bjordan(at)lumeta(dot)com>
To: "Jeff Davis" <pgsql(at)j-davis(dot)com>, "Alvaro Herrera" <alvherre(at)commandprompt(dot)com>
Cc: <josh(at)agliodbs(dot)com>, "Jim C(dot) Nasby" <jim(at)nasby(dot)net>, <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [PERFORM] Hints proposal
Date: 2006-10-13 17:08:27
Message-ID: 78ED28FACE63744386D68D8A9D1CF5D4209CBD@MAIL.corp.lumeta.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-performance


> -----Original Message-----
> From: Jeff Davis [mailto:pgsql(at)j-davis(dot)com]
> Sent: Friday, October 13, 2006 1:00 PM
> To: Alvaro Herrera
> Cc: Bucky Jordan; josh(at)agliodbs(dot)com; Jim C. Nasby; pgsql-
> hackers(at)postgresql(dot)org
> Subject: Re: [HACKERS] [PERFORM] Hints proposal
>
> On Thu, 2006-10-12 at 18:02 -0400, Alvaro Herrera wrote:
> > Bucky Jordan wrote:
> >
> > > What about using regular expressions, plus, if you have a function
> > > (views, or any other statement that is stored), you can assign a
rule
> to
> > > that particular function. So you get matching, plus explicit
> selection.
> > > This way it's easy to find all your hints, turn them off, manage
them,
> > > etc. (Not to mention dynamically generated SQL is ugly enough
without
> > > having to put hints in there).
> >
> > The regular expression idea that's being floated around makes my
brain
> > feel like somebody is screeching a blackboard nearby. I don't think
> > it's a sane idea. I think you could achieve something similar by
using
> > stored plan representations, like we do for rewrite rules. So you'd
> > look for, say, a matching join combination in a catalog, and get a
> > selectivity from a function that would get the selectivities of the
> > conditions on the base tables. Or something like that anyway.
> >
> > That gets ugly pretty fast when you have to extract selectivities
for
> > all the possible join paths in any given query.
> >
> > But please don't talk about regular expressions.
> >
>
> It sounds horrible to me too, and I'm the one that thought of it (or
at
> least I'm the one that introduced it to this thread).
>
> However, everything is relative. Since the other idea floating around
is
> to put the same hinting information into the client queries
themselves,
> regexes look great by comparison (in my opinion).

I was merely expressing the same opinion. But I'm not one of those
working on the planner, and all I can say to those of you who are is
your efforts on good design are most appreciated, even if they do take
longer than we users would like at times.

My only point was that they should *NOT* be put in queries themselves as
this scatters the nightmare into user code as well. Of course, other
more sane ideas are most welcome. I don't like screeching on blackboards
either. (regular expressions, although very valuable at times, seem to
have that effect quite often...)

- Bucky

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Jeff Davis 2006-10-13 17:23:31 Re: [PERFORM] Hints proposal
Previous Message Jim C. Nasby 2006-10-13 17:07:14 Re: ./configure argument checking

Browse pgsql-performance by date

  From Date Subject
Next Message Jeff Davis 2006-10-13 17:23:31 Re: [PERFORM] Hints proposal
Previous Message Jeff Davis 2006-10-13 17:00:29 Re: [PERFORM] Hints proposal