pg.ddx.io  pgsql-performance@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Josh Berkus <josh@agliodbs.com>
To: Jim C. Nasby <jim@nasby.net>
Cc: pgsql-hackers@postgresql.org
Cc: pgsql-performance@postgresql.org
Subject: Re: [HACKERS] Hints proposal
Date: Thu, 12 Oct 2006 13:58:22 -0700
Message-ID: <200610121358.22739.josh@agliodbs.com> (raw)
In-Reply-To: <20061012192410.GU28647@nasby.net>
References: <20061012151439.GT28647@nasby.net>
	<452E6FFE.7010504@agliodbs.com>
	<20061012192410.GU28647@nasby.net>

Jim,

> > I don't see how adding extra tags to queries is easier to implement
> > than an ability to modify the system catalogs.  Quite the opposite,
> > really.
> >
> > And, as I said, if you're going to push for a feature that will be
> > obsolesced in one version, then you're going to have a really rocky
> > row to hoe.
>
> Unless you've got a time machine or a team of coders in your back
> pocket, I don't see how the planner will suddenly become perfect in
> 8.4...

Since you're not a core code contributor, I really don't see why you 
continue to claim that query hints are going to be easier to implement 
than relation-level statistics modification.  You think it's easier, but 
the people who actually work on the planner don't believe that it is.

> We've been seeing the same kinds of problems that are very difficult (or
> impossible) to fix cropping up for literally years... it'd be really
> good to at least be able to force the planner to do the sane thing even
> if we don't have the manpower to fix it right now...

As I've said to other people on this thread, you keep making the incorrect 
assumption that Oracle-style query hints are the only possible way of 
manual nuts-and-bolts query tuning.  They are not.

> > I actually think the way to attack this issue is to discuss the kinds
> > of errors the planner makes, and what tweaks we could do to correct
> > them. Here's the ones I'm aware of:
> >
> > -- Incorrect selectivity of WHERE clause
> > -- Incorrect selectivity of JOIN
> > -- Wrong estimate of rows returned from SRF
> > -- Incorrect cost estimate for index use
> >
> > Can you think of any others?
>
> There's a range of correlations where the planner will incorrectly
> choose a seqscan over an indexscan.

Please list some if you have ones which don't fall into one of the four 
problems above.

> Function problems aren't limited to SRFs... we have 0 statistics ability
> for functions.
>
> There's the whole issue of multi-column statistics.

Sure, but again that falls into the category of "incorrect selectivity for 
WHERE/JOIN".  Don't make things more complicated than they need to be.

> Well, one nice thing about the per-query method is you can post before
> and after EXPLAIN ANALYZE along with the hints.

One bad thing is that application designers will tend to use the hint, fix 
the immediate issue, and never report a problem at all.  And query hints 
would not be collectable in any organized way except the query log, which 
would then require very sophisticated text parsing to get any useful 
information at all.

-- 
--Josh

Josh Berkus
PostgreSQL @ Sun
San Francisco



view thread (74+ messages)  latest in thread

Message-ID: <200610121358.22739.josh@agliodbs.com>
Permalink:  ../200610121358.22739.josh@agliodbs.com/
Also on:    postgresql.org/message-id/200610121358.22739.josh@agliodbs.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-performance@postgresql.org
  Cc: josh@agliodbs.com, jim@nasby.net, pgsql-hackers@postgresql.org
  Subject: Re: [HACKERS] Hints proposal
  In-Reply-To: <200610121358.22739.josh@agliodbs.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox