KEY
et INDEX
sont des synonymes dans MySQL. Ils signifient la même chose. Dans les bases de données, vous utiliseriez des index
pour améliorer la vitesse de récupération des données. Un index est généralement créé sur les colonnes utilisées dans JOIN
, WHERE
, et ORDER BY
clauses.
Imaginez que vous avez une table appelée users
et vous souhaitez rechercher tous les utilisateurs dont le nom de famille est "Smith". Sans index, la base de données devrait parcourir tous les enregistrements de la table :c'est lent, car plus vous avez d'enregistrements dans votre base de données, plus elle doit travailler pour trouver le résultat. D'autre part, un index aidera la base de données à passer rapidement aux pages pertinentes où les enregistrements « Smith » sont conservés. Ceci est très similaire à la façon dont nous, les humains, parcourons un annuaire téléphonique pour trouver quelqu'un par son nom de famille :nous ne commençons pas à chercher dans l'annuaire d'un bout à l'autre, tant que nous insérons les informations dans un ordre que nous pouvons utilisez pour passer rapidement aux pages 'S'.
Les clés primaires et les clés uniques sont similaires. Une clé primaire est une colonne, ou une combinaison de colonnes, qui peut identifier de manière unique une ligne. C'est un cas particulier de clé unique . Une table peut avoir au plus une clé primaire, mais plus d'une clé unique. Lorsque vous spécifiez une clé unique sur une colonne, deux lignes distinctes d'une table ne peuvent pas avoir la même valeur.
Notez également que les colonnes définies comme clés primaires ou clés uniques sont automatiquement indexées dans MySQL.