If you are using DISTINCT probably means you need to normalize your data
and look to join more appropriately. Also for creating indexes you
really need to consider how you plan to access your data and how it will
be used - which goes back to properly normalizing database tables. With
properly structured tables you should be easily able to identify certain
relationships and know where to put indexes - preferably columns that
are used for JOINS and WHERE.
Good place to start:
http://dev.mysql.com/tech-resources/articles/intro-to-normalization.html
Hope it helps
David Krings wrote:
Adrian Noland wrote:
> When it comes to choosing which columns to index, you want to pick
something with a high cardinality, or, for lack of a better term,
"uniqueablity". Gender wont have a high cardinality because there are
only 2 choices for many records. Last name on your personal family
address book will have a low cardinality because of family members
sharing last name. A key of last name + first name will have a high
cardinality and will make a good index.
Thanks for the explanation. I will index based on that. I decided to
go with the temp table approach for now as this lets me work with
queries that I can comprehend.
I a past post I wrote that I merge the arrays that I get for each
table. While I in fact did that, I really need to do an intersect to
create an INNER JOIN. I filter each table based on the contents or
ranges of particular fields and only those items that have at least
one row in each table are the ones that I want. Two tables can have
only one row per item by design, so the distinct will come into play
for only one query. With that I also do not need an array_unique as
the intersect cannot have duplicate values.
Good stuff!
David
_______________________________________________
New York PHP Community Talk Mailing List
http://lists.nyphp.org/mailman/listinfo/talk
NYPHPCon 2006 Presentations Online
http://www.nyphpcon.com
Show Your Participation in New York PHP
http://www.nyphp.org/show_participation.php
_______________________________________________
New York PHP Community Talk Mailing List
http://lists.nyphp.org/mailman/listinfo/talk
NYPHPCon 2006 Presentations Online
http://www.nyphpcon.com
Show Your Participation in New York PHP
http://www.nyphp.org/show_participation.php