On Wed, 2009-02-04 at 14:42 -0800, PHP wrote:
> Hi all,
> I am seeking some knowledge, hopefully I explain this right.
> 
> I am wondering what you think is faster.
> 
> Say you have 1000 records from 2 different tables that you need to get from a 
> MySQL database.
> A simple table will be displayed for each record, the second table contains 
> related info for each record in table 1.
> 
> Is if faster to just read all the records from both tables into two arrays, 
> then use php to go through the array for table 1 and figure out what records 
> from table 2 are related.
> 
> Or, you dump all the data in table 1 into an array, then as you go through 
> each record you make a database query to table 2.
> 
> 
> 
> 
> PS:
> I know I can use a join, but I find anytime I use a join, the database query 
> is extremely slow, I have tried it for each version of mysql and php for the 
> last few years. The delay difference is in the order of 100x slower or more.

Grab records from table 1... build a list of IDs to match in table 2.
Use an IN clause. 2 queries and no joins as you requested.

    SELECT * from foo_table AS FOO where "something something";

    SELECT * from fee_table AS FEE where foo_id IN ( list, of, ids );

You REALLY don't want to do a query for every row matched in the first
query.

Cheers,
Rob.
-- 
http://www.interjinn.com
Application and Templating Framework for PHP


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

Reply via email to