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

Un campo di colonna "unico" implica un indice con MySQL e, in caso affermativo, perché?

Sì. Tuttavia, non è necessariamente "automatico", è implicito. UNIQUE è tipo di indice, quindi ovviamente quella colonna è indicizzata.

Perché sarebbe sciocco per MySQL eseguire una scansione completa della tabella su ogni INSERT /UPDATE per sostenere il vincolo univoco.

Modifica :

Perché un programmatore dovrebbe voler imporre manualmente l'integrità dei dati di base al di fuori del livello di archiviazione dei dati? Capisco dove stai andando con questo, ma il fatto è che un indice non può assolutamente fare male qualsiasi cosa (ci vuole solo un po' più di spazio), quindi non c'è davvero una decisione da prendere in considerazione.