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

Differenza tra chiave, chiave primaria, chiave univoca e indice in MySQL

KEY e INDEX sono sinonimi in MySQL. Intendono la stessa cosa. Nei database useresti indici per migliorare la velocità di recupero dei dati. Un indice viene in genere creato sulle colonne utilizzate in JOIN , WHERE e ORDER BY clausole.

Immagina di avere una tabella chiamata users e vuoi cercare tutti gli utenti che hanno il cognome 'Smith'. Senza un indice, il database dovrebbe passare attraverso tutti i record della tabella:questo è lento, perché più record hai nel tuo database, più lavoro deve fare per trovare il risultato. D'altra parte, un indice aiuterà il database a saltare rapidamente alle pagine rilevanti in cui sono conservati i record "Smith". Questo è molto simile al modo in cui noi, esseri umani, andiamo attraverso un elenco telefonico per trovare qualcuno con il cognome:non iniziamo a cercare nell'elenco da copertina a copertina, purché inseriamo le informazioni in un ordine che possiamo utilizzare per saltare rapidamente alle pagine 'S'.

Le chiavi primarie e le chiavi univoche sono simili. Una chiave primaria è una colonna, o una combinazione di colonne, che può identificare in modo univoco una riga. È un caso speciale di chiave univoca . Una tabella può avere al massimo una chiave primaria, ma più di una chiave univoca. Quando specifichi una chiave univoca su una colonna, non ci sono due righe distinte in una tabella che possono avere lo stesso valore.

Si noti inoltre che le colonne definite come chiavi primarie o chiavi univoche vengono automaticamente indicizzate in MySQL.