I would load the 1000 values into a temporary table, and join on the ID
field.  I usually find that approach gives much faster results.

> -----Original Message-----
> From: Zak McGregor [SMTP:[EMAIL PROTECTED]]
> Sent: Tuesday, June 12, 2001 7:42 AM
> To:   [EMAIL PROTECTED]
> Subject:      [GENERAL] Large OR query
> 
> Hi all
> 
> If I have say 1000 values for an ID field, what is the best way to
> select from a table all the corresponding records?
> I have tried 
> select * from blah where id in (id1,id2,id3...id1000)
> and
> select * from blah where id=id1 or id=id2 ... or id=id1000
> 
> and both are pretty slow.
> Is there a better way to do this please?
> 
> Thanks
> 
> Ciao
> --
> Zak McGregor    http://www.carfolio.com - Over 7000 car specs online
> Web mercenary - currently for hire. Perl/html/.js/sql/cgi/GNUlinux/php +
> ---------------------------------------------------------------------
> "Trying to make bits uncopyable is like trying to make water not wet.
> The sooner people accept this, and build business models that take 
> this into account, the sooner people will start making money again." 
>                                                   -- Bruce Schneier 
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
> 
> http://www.postgresql.org/search.mpl

---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster

Reply via email to