Re: Expression transformation curiosity

From: Richard Huxton <dev(at)archonet(dot)com>
To: "Alexander M(dot) Pravking" <fduch(at)antar(dot)bryansk(dot)ru>
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: Expression transformation curiosity
Date: 2003-08-17 17:01:23
Message-ID: 200308171801.23667.dev@archonet.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

On Sunday 17 August 2003 16:39, Alexander M. Pravking wrote:
> On Sun, Aug 17, 2003 at 11:32:58AM +0100, Richard Huxton wrote:
> > Boiling the problem down, I've looked at a clause of the form:
> > a OR (b AND c)
> > which PG converts to:
> > (a OR b) AND (a OR c)

> > Is it an artefact of displaying the EXPLAIN, or is it actually processed
> > that way? You could see how testing "a" twice could be expensive in some
> > situations.
>
> Looks like it actually works this way.
> I had the same problem several weeks ago on 7.3.3 with 4 such OR's.
> The final filter became monsterous, and the query was very slow.
>
> I've simply rewritten the query using UNION, and it became much faster.

Doesn't seem to matter much in this case, although I tried it as a UNION just
to check the results were the same.

Thanks Alexander
--
Richard Huxton
Archonet Ltd

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Moonstruck 2003-08-18 07:05:10 Reverse pattern match.
Previous Message Alexander M. Pravking 2003-08-17 15:39:38 Re: Expression transformation curiosity