Quindi per i tuoi campi, id
(PK), userId
(FK) e skillId
(FK),mysql creerà automaticamente un indice su (id)
(unico) e indice su (userId)
(non univoco) e un indice su (skillId)
(non univoco).
Hai ancora bisogno di un indice univoco aggiuntivo su (userId, skillId)
.
Questo potrebbe sostituire l'indice non univoco su (userId)
perché l'ottimizzatore può utilizzare il (userId, skillId)
index ogni volta che deve cercare con userId
. Tuttavia, la creazione e l'eliminazione di indici quando l'indice viene utilizzato da una chiave esterna in mysql può essere complicato, quindi potresti semplicemente voler aggiungere l'indice univoco composito.