sql >> Database >  >> RDS >> Mysql

Worden samengestelde unieke sleutels geïndexeerd in MySQL? - DBMS

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.



  1. Oracle:Geparametriseerde query met IN-clausule retourneert null-waarde

  2. MySQL kopieer een gebruiker

  3. Kunnen we functionele indexen maken in MySql voor de functies HOOFDLETTERS en LOWERCASE?

  4. MySQL-som gebaseerd op col-waarde