I was just doing some reading on indexes when I saw this post and I have a question about "Over Indexing". I have a MySQL table that stores inventory transactions, in, out etc. I mainly store fields that are primary indexes in other tables, Paul DuBois' MySQL book says that anything used in a where clause or join clause should be indexed. So it turns out that 7 out of eight fields fit this description, 1 primary key, 4 smallints, and 2 are datetime fields.
Should I use all these indexes or are they not needed? Sorry about asking this in a php list but I saw the topic, and there's no dba where I work. Thanks -Steve. -----Original Message----- From: SP [mailto:[EMAIL PROTECTED]] Sent: Thursday, May 02, 2002 3:11 PM To: [EMAIL PROTECTED]; [EMAIL PROTECTED] Cc: [EMAIL PROTECTED]; [EMAIL PROTECTED] Subject: RE: [PHP] PRIMARY KEY vs. INDEX Indexes are good but the only thing you have to look out for is not over using it. So don't index all your fields because it will make your database a lot bigger and add more time when inserting and updating. -----Original Message----- From: Dan Hardiker [mailto:[EMAIL PROTECTED]] Sent: May 2, 2002 8:41 AM To: [EMAIL PROTECTED] Cc: [EMAIL PROTECTED]; [EMAIL PROTECTED] Subject: Re: [PHP] PRIMARY KEY vs. INDEX To clarify, an indexed field is *not* inheriently unique. You can have an indexed field which is not unique, and a unique field which is not indexed (hence the options being available). A primary key is both indexed and unique (with the slight adaption of compound keys)... but this is majorly off topic. http://www.mysql.com/doc/ - Dan > Christoph, > > Indexes are built on key fields, so yes. When a field is identified as > a key it is indexed. > > To answer your second question, it is the index which maintains the > uniqueness of a field. > > A book is a really good analogy. If you wanted to look up the > references to "string", you can do it very quickly in the index. Even > if you don't come close to the "s" section, you immediately know > whether to look next to the right or to the left. If you push the > issue, and act extremely dumb (like a computer), you'll find the page > containing "string" within 7 hits; once you're on that page it's a > short read to find the term. That's what makes searching on indexed > fields so fast. > > To find the term in the book requires you to start reading on page 1 > and to read text until you find the term. Which why searches which do > not take advantage of key fields are so slow. > > Indexes are your friend, they don't slow down the addition of records > that much, and make retrieval of records extremely fast. > > Regards - Miles Thompson > > > > At 02:13 PM 5/2/2002 +0200, Christoph Starkmann wrote: >>Hi there! >> >>I guess I got a very easy question for the pros here... >>I've been searching the documentaion of mySQL, but didn't >>find the answer (even though I'm sure it's out there >>somewhere :))... >> >>Is a primary key in mySQL automatically indexed? And is a >>unique field indexed automatically ?(I don't think and >>don't hope so, but one never knows) >> >>Thanx, >> >>Kiko >> >>-- >>It's not a bug, it's a feature. >>christoph starkmann >>mailto:[EMAIL PROTECTED] >>http://www.gruppe-69.com/ >>ICQ: 100601600 >>-- >> >>-- >>PHP General Mailing List (http://www.php.net/) >>To unsubscribe, visit: http://www.php.net/unsub.php > > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php -- Dan Hardiker [[EMAIL PROTECTED]] ADAM Software & Systems Engineer First Creative Ltd -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php