SQL: qu'est-ce exactement faire des Clés Primaires et des Index de faire?

J'ai récemment commencé à développer ma première application qui utilise une base de données SQL, et je suis en utilisant phpMyAdmin pour configurer les tables. Il y a un couple en option "fonctions", je peux donner des différentes colonnes, et je ne suis pas entièrement sûr de ce qu'ils font:

  • Clé Primaire
  • Indice

Je sais ce qu'est un PK et comment l'utiliser, mais je suppose que ma question est pourquoi a-t-on besoin d'un comment est-il différent de se contenter de placer une colonne de "Uniques", autre que le fait que vous ne pouvez avoir qu'un PK? Est-il juste de laisser le programmeur sait que cette valeur identifie de façon unique l'enregistrement? Ou faut-il avoir certaines propriétés spéciales trop?

Je n'ai aucune idée de ce que "l'Index" n' - en fait, la seule fois où j'ai jamais vu ça en cours d'utilisation sont (1) que mes clés primaires semblent être indexé, et (2) j'ai entendu dire que l'indexation est en quelque sorte lié à la performance, que vous voulez des colonnes indexées, mais pas trop. Comment choisir les colonnes à l'index, et que fait-il?

edit: devrait un index de colonnes est probablement souhaitez COMMANDER PAR?

Merci beaucoup,

Mala

InformationsquelleAutor Mala | 2009-08-22