[support] Doubt on Index and Primary key
Metzler, David
metzlerd at evergreen.edu
Thu Mar 17 15:30:05 UTC 2011
Primary keys mean that there is one and only one value for each record.
In a resume table that you posted earlier that means a person can have
one and only one resume with name. I would typically reverse this. The
uid of a user doesn't change, but it's name does, so you don't want to
be using name as a primary key. Use uid as primary key and only put an
index on name if you're talking about commonly looking up by or sorting
by name. Primary keys usually imply an index behind it but also add
requiring one and only one value for each record. You need the index to
find out if a record already exists quickly. A primary key typically can
be thought of as an index with a uniqueness constraint.
Indexes generally dramatically improve lookup time in large volume
databases at the expense of taking a little longer to write records.
I would strongly recommend that you pick up a book on database design to
learn these concepts.
________________________________
From: support-bounces at drupal.org [mailto:support-bounces at drupal.org] On
Behalf Of Austin Einter
Sent: Thursday, March 17, 2011 4:26 AM
To: development at drupal.org
Cc: support at drupal.org
Subject: [support] Doubt on Index and Primary key
HI All
In .install file, in hook_schema unction, we are mentioning index field
and primary key field.
I am wondering, how to choose which one should be index and which one
should be primary key.
Does that affect the performance (in search, add, delete of records).
What I am thinking at this point of time, my database will contain job
seekers name, mail-id, contact number, skill set (as comma separated
values) and resume.
For index purpose, I am thinking I will use '$user->uid' as Index and
and 'name' as primary key.
I am bit confused how it it is going to affect search/add/delete time
(assuming huge number of records in database) and also database
management.
Please guide me.
Regards
Austin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.drupal.org/pipermail/support/attachments/20110317/570f0e7b/attachment-0001.html
More information about the support
mailing list