Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

As chaves exclusivas compostas são indexadas no MySQL? - SGBD


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.