Entonces, para sus campos, id
(PK), userId
(FK) y skillId
(FK), mysql creará automáticamente un índice en (id)
(único) e índice en (userId)
(no único) y un índice en (skillId)
(no único).
Todavía necesita un índice único adicional en (userId, skillId)
.
Esto podría reemplazar el índice no único en (userId)
porque el optimizador puede usar el (userId, skillId)
index siempre que necesite buscar por userId
. Sin embargo, crear y eliminar índices cuando una clave externa usa el índice en mysql puede ser engorroso, por lo que es posible que desee agregar el índice único compuesto.