You are here: Re: [PHP] Sorting table columns dynamically on normalized MySQL tables « PHP « IT news, forums, messages
Re: [PHP] Sorting table columns dynamically on normalized MySQL tables

Posted by Richard Lynch on 04/22/05 13:24

On Wed, April 20, 2005 5:53 am, Leif Gregory said:
> So joining on four tables isn't considered bad practice?

No, it's great practice.

The only thing to watch for is just how *BIG* will the number of tuples grow?

If you can multiply together the number of rows in all four tables and
come up with << 1,000,000 you're fine.

If not, you have to start thinking about how you can get just the ones you
want for each query, and do it in such a way the MySQL never has to cope
with 1,000,000 rows at once.

Actually MySQL is quite happy to do 1,000,000 rows -- It's your hardware
that won't like it. :-)

So it really depends on what's *IN* the data, rather than the actual
number of tables.

Be sure you always get your WHERE clauses right.

One rule of thumb:

Work your way through all tables being joined from left to right:

FROM table1, table2, table3, table4, ...

For each tableX, make sure that you are relating it back to a previous
table, with an INDEXED key field in your WHERE clause with AND between
them:

WHERE table1.indexA = table2.indexB
AND table2.indexC = table3.indexD
AND table3.indexE = table4.indexE

It doesn't matter on table3 if you have it tied to table2 (as above) or
table 1 -- So long as the fields are indexed, and you can trace back from
every tableX to table1 *somehow*

But you wouldn't want just *this*

WHERE table1.indexA = table2.indexB
AND table3.indexC = table4.indexD

You've got nothing to tie table3 and table4 back to table1, so every
single row in the 3/4 combination is going to be listed with every single
row with the 1/2 combination, in every possible permutation...

Try it with some very small (number of rows) tables just to see what happens!

--
Like Music?
http://l-i-e.com/artists.htm

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация