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

Perché e dove usare INDEX:pro e contro

Bene, probabilmente puoi riempire libri sugli indici, ma in breve ecco alcune cose a cui pensare, quando crei un indice:

Sebbene (principalmente) acceleri una selezione, rallenta inserimenti, aggiornamenti ed eliminazioni perché il motore di database non deve scrivere solo i dati, ma anche l'indice. Un indice ha bisogno di spazio sul disco rigido (e molto più importante) nella RAM. Un indice che non può essere contenuto nella RAM è piuttosto inutile. Un indice su una colonna con solo pochi valori diversi non velocizza le selezioni, perché non può ordinare molte righe (ad esempio una colonna "genere", che di solito ha solo due valori diversi:maschio, femmina).

Se usi MySQL, ad esempio, puoi verificare se il motore utilizza un indice aggiungendo "explain" prima di select - per il tuo esempio sopra EXPLAIN SELECT TestField FROM Example WHERE username=XXXX