Re: Optimizer : query rewrite and execution plan ? - Mailing list pgsql-performance

From Theo Kramer
Subject Re: Optimizer : query rewrite and execution plan ?
Date
Msg-id 1202299962.4274.22.camel@localhost6.localdomain6
Whole thread Raw
In response to Re: Optimizer : query rewrite and execution plan ?  (Simon Riggs <simon@2ndquadrant.com>)
Responses Re: Optimizer : query rewrite and execution plan ?
Re: Optimizer : query rewrite and execution plan ?
List pgsql-performance
On Wed, 2008-02-06 at 11:53 +0000, Simon Riggs wrote:
> On Wed, 2008-02-06 at 09:42 +0100, SURANTYN Jean François wrote:
>
> > That issue is very annoying because with generated SQL queries (from
> > Business Objects for example) on big tables, it is possible that some
> > queries have several times the same "where" condition ("where n=1 and
> > n=1" for example), and as the optimizer is under-estimating the number
> > of returned rows, some bad execution plans can be chosen (nested loops
> > instead of hash joins for example)
>
> I can see the annoyance there.
>
> There's a balance in the planner between time spent to optimize the
> query and time spent to correct mistakes. If we looked continually for
> mistakes then planning time would increase for everybody that didn't
> suffer from this problem.
>
> Since the SQL is not your fault and difficult to control, it is an
> argument in favour of an optional planner mode that would perform
> additional checks for redundant clauses of various kinds. The default
> for that would be "off" since most people don't suffer from this
> problem. BO isn't the only SQL generating-client out there, so I think
> this is a fairly wide problem.

I would have to disagree. I spend a lot of time writing code that
generates SQL from a business app and feel strongly that any
optimisation is my responsibility.

Having to re-configure PG to switch on a planner mode, as suggested
above, to address badly generated SQL is not a good idea.

This with experience on having to talk business application developers
through re-configuring a database.

--
Regards
Theo


pgsql-performance by date:

Previous
From: Simon Riggs
Date:
Subject: Re: Optimizer : query rewrite and execution plan ?
Next
From: Dimitri Fontaine
Date:
Subject: Re: Benchmark Data requested --- pgloader CE design ideas