Mysql
 sql >> Base de données >  >> RDS >> Mysql

Les clés uniques composites sont-elles indexées dans MySQL ? - SGBD

Donc pour vos champs, id (PK), userId (FK) et skillId (FK), mysql créera automatiquement un index sur (id) (unique), et index sur (userId) (non unique) et un index sur (skillId) (non unique).

Vous avez toujours besoin d'un index unique supplémentaire sur (userId, skillId) .

Cela pourrait remplacer l'index non unique sur (userId) car l'optimiseur peut utiliser le (userId, skillId) index chaque fois qu'il doit rechercher par userId . Cependant, créer et supprimer des index lorsque l'index est utilisé par une clé étrangère dans mysql peut être fastidieux, vous pouvez donc simplement ajouter l'index unique composite.