Dus voor uw velden, id
(PK), userId
(FK) en skillId
(FK), mysql maakt automatisch een index op (id)
(uniek), en index op (userId)
(niet-uniek) en een index op (skillId)
(niet uniek).
Je hebt nog steeds een extra unieke index nodig op (userId, skillId)
.
Dit zou de niet-unieke index op (userId)
. kunnen vervangen omdat de optimizer de (userId, skillId)
. kan gebruiken index wanneer het moet worden opgezocht door userId
. Het maken en neerzetten van indexen wanneer de index wordt gebruikt door een externe sleutel in mysql kan echter omslachtig zijn, dus misschien wilt u gewoon de samengestelde unieke index toevoegen.