Re: Most efficient way of fetching 1,000 records from MySQL ?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Ian Firla wrote:
I think you'll find that your first approach is not only more correct,
it's the only manageable one.

No, it will be very slow. The biggest overhead is in transfering data to and from sql server. It's always better to get the results in one sql query.


Use this aproach:

$users =
sql('select * from users where userID IN ('. implode(', ',$users) .')');


Ian

On Mon, 2004-10-25 at 10:15 +0200, Steve McGill wrote:

Hello,

In my script I have generated an array of 1,000 userIDs for example. Now for
I need to fetch each user's record and I am wondering what is the best way
to go about it:

1) 1000 sql queries

// code is sort of pseudo for clarity

foreach($users as $userID) {
 $user = sql("select * from users where userID = '$userID'");
 // bla bla
}

2) 1 query

$users = sql("select * from users where userID='1' or userID='2' or
userID='5' or userID='10'");

I imagine the 2nd one would be a bit of a nightmare for MySQL to parse, if
it gets too long?

Or am I missing a more efficient 3rd / 4th option?

Many thanks in advance for your help.

Steve McGill




-- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux