I'll throw in my suggestion here as to how I implement this.

Generally I evaluate how big are the tables and what do I intend to do
with them. 

Sorting is usually a "problem". Using the PHP multi_sort seems
cumbersome and never seems to be as simple as letting the DB do it.

I too use LEFT JOINs frequently.

If I have to join more than say 4 or 5 tables, I start to break it up.

My favorite little trick is to load a PHP array with smaller tables.

[Pseudocoded:]

$employeeType = array( "SELECT id, name FROM employee_type_table" );

And I might do this for several tables.

(you can also store these in a $_SESSION if you're using these
key/values frequently on different pages)

Then this can effectively eliminate one whole join (per), as most tables
key off of ID's (duh).

Then do my real SELECT/JOIN query, and during my while/$row loop I just
substitute the array value back in like this

<?= $employeeType[ $row['employee_type_id'] ] ?>

I actually use this little optimizing trick as an interview question for
new hires. You'd be amazed at how many people don't think of this, as
obvious as it seems to me...

D.Vin

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

Reply via email to