Så för dina fält, id
(PK), userId
(FK) och skillId
(FK),mysql kommer automatiskt att skapa ett index på (id)
(unik) och indexera på (userId)
(icke-unik) och ett index på (skillId)
(icke-unik).
Du behöver fortfarande ett extra unikt index på (userId, skillId)
.
Detta kan ersätta det icke-unika indexet på (userId)
eftersom optimeraren kan använda (userId, skillId)
indexera närhelst den behöver slå upp med userId
. Men att skapa och ta bort index när indexet används av en främmande nyckel i mysql kan vara besvärligt, så du kanske bara vill lägga till det sammansatta unika indexet.