Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Werden zusammengesetzte eindeutige Schlüssel in MySQL indiziert? - DBMS

Also für Ihre Felder id (PK), userId (FK) und skillId (FK) erstellt mysql automatisch einen Index für (id) (eindeutig) und Index auf (userId) (nicht eindeutig) und einen Index auf (skillId) (nicht eindeutig).

Sie benötigen noch einen zusätzlichen eindeutigen Index für (userId, skillId) .

Dies könnte den nicht eindeutigen Index auf (userId) ersetzen da der Optimierer den (userId, skillId) verwenden kann index, wenn nach userId gesucht werden muss . Das Erstellen und Löschen von Indizes, wenn der Index von einem Fremdschlüssel in mysql verwendet wird, kann jedoch umständlich sein, sodass Sie vielleicht einfach den zusammengesetzten eindeutigen Index hinzufügen möchten.