Re: More efficient OR

From: KÖPFERL Robert <robert(dot)koepferl(at)sonorys(dot)at>
To: PostgreSQL SQL <pgsql-sql(at)postgresql(dot)org>
Subject: Re: More efficient OR
Date: 2005-02-16 18:36:41
Message-ID: ED4E30DD9C43D5118DFB00508BBBA76EB165CF@neptun.sonorys.at
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

At least for between, I read that pgSQL rewrites it to a (a<x) AND (x<b).
And my experience shows that IN is translated into a series of ORs.
I may be wrong

> -----Original Message-----
> From: Keith Worthington [mailto:keithw(at)narrowpathinc(dot)com]
> Sent: Mittwoch, 16. Februar 2005 17:36
> To: PostgreSQL SQL
> Cc: Sean Davis; Scott Marlowe
> Subject: Re: [SQL] More efficient OR
>
>
> > > Hi All,
> > >
> > > In several of my SQL statements I have to use a WHERE clause
> > > that contains mutiple ORs. i.e.
> > >
> > > WHERE column1 = 'A' OR
> > > column1 = 'B' OR
> > > column1 = 'C'
> > >
> > > Is there a more efficient SQL statement that accomplishes the
> > > same limiting functionality?
> > >
> > > Kind Regards,
> > > Keith
> > >
> >
> > Scott wrote:
> > The in() construct is (nowadays) basically the same as
> > ORing multiple columns;
> >
> > where column1 in ('A','B','C')
> >
> >
> > Sean Davis wrote
> > Could 'in' or 'between' do what you want? I know that using 'in'
> > is equivalent to what you have below. Could 'between' be more
> > efficient--you could do explain analyze on various options to see
> > what the actual plan would be.
> >
> > Sean
>
> Thanks Scott and Sean for the post.
>
> It sounds like IN will save some typing and code space but
> not decrease the
> execution time.
>
> BETWEEN won't work for my real life query because the
> limiting values are
> quite disparate.
>
> Kind Regards,
> Keith
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
>
> http://www.postgresql.org/docs/faq
>

Browse pgsql-sql by date

  From Date Subject
Next Message PFC 2005-02-16 18:52:13 Re: More efficient OR
Previous Message KÖPFERL Robert 2005-02-16 18:33:55 Re: Relation in tables