Então, para seus campos,
id
(PK), userId
(FK) e skillId
(FK), o mysql criará automaticamente um índice em (id)
(único) e indexe em (userId)
(não exclusivo) e um índice em (skillId)
(não exclusivo). Você ainda precisa de um índice exclusivo adicional em
(userId, skillId)
. Isso pode substituir o índice não exclusivo em
(userId)
porque o otimizador pode usar o (userId, skillId)
index sempre que precisar procurar por userId
. No entanto, criar e descartar índices quando o índice é usado por uma chave estrangeira no mysql pode ser complicado, então você pode querer adicionar o índice exclusivo composto.