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

Un vincolo UNIQUE crea automaticamente un INDICE sui campi?

Una chiave unica è un caso speciale di index, che si comporta come un normale indice con un ulteriore controllo dell'unicità. Utilizzando SHOW INDEXES FROM customer puoi vedere che le tue chiavi univoche sono in realtà indici di tipo B-tree.

Un indice composito su (email, user_id) è sufficiente, non è necessario un indice separato solo sulla posta elettronica:MySQL può utilizzare le parti più a sinistra di un indice composito. Potrebbero esserci alcuni casi limite in cui la dimensione di un indice può rallentare le tue query, ma non dovresti preoccupartene finché non ti imbatti effettivamente in esse.

Per quanto riguarda il test dell'utilizzo dell'indice, dovresti prima riempire la tua tabella con alcuni dati per fare in modo che l'ottimizzatore pensi che valga davvero la pena usare quell'indice.