Mysql
 sql >> Database >  >> RDS >> Mysql

Le chiavi univoche composite sono indicizzate in MySQL? - DBMS

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.