Maison >base de données >tutoriel mysql >Comment définir et optimiser une clé primaire composite en SQL ?
Clés primaires composites SQL : définition et optimisation
Une clé primaire composite en SQL utilise plusieurs colonnes pour identifier de manière unique chaque ligne d'une table. Cela contraste avec une clé primaire à une seule colonne. Pour en créer un, répertoriez les colonnes clés après le mot-clé PRIMARY KEY
.
Exemple illustratif :
Disons que nous construisons une table voting
avec les champs QuestionID
, MemberID
et vote
. Nous utiliserons QuestionID
et MemberID
comme clé primaire composite, garantissant qu'un membre ne peut voter qu'une seule fois par question.
<code class="language-sql">CREATE TABLE voting ( QuestionID NUMERIC, MemberID NUMERIC, vote VARCHAR(255), PRIMARY KEY (QuestionID, MemberID) );</code>
La combinaison de QuestionID
et MemberID
identifie de manière unique chaque enregistrement. Surtout, ni QuestionID
ni MemberID
ne peuvent contenir des valeurs NULL
.
Impact de l'indice sur les performances :
Indexation supplémentaire stratégique :
Vous interrogez fréquemment des colonnes en dehors de la clé primaire ? La création d'index distincts pour ces colonnes est une stratégie d'optimisation des performances.
Par exemple, si MemberID
est fréquemment utilisé dans les requêtes sur la table voting
, un index supplémentaire pourrait être bénéfique :
<code class="language-sql">CREATE UNIQUE INDEX idx1 ON voting (MemberID, QuestionID);</code>
Cela crée un index unique en utilisant MemberID
et QuestionID
. Notez que l'ordre peut différer de l'ordre des clés primaires pour s'adapter aux modèles de requête. Le choix de l'ordre d'indexation optimal dépend des types de requêtes les plus fréquents.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!