Sto appena iniziando a studiare l'ottimizzazione per il mio database MySQL. Da quello che sto leggendo, l'indicizzazione sembra una buona idea, quindi sto cercando di creare un indice su una delle mie colonne VARCHAR
, su un tavolo usando il motore MyISAM
.Dimensioni indice in MySQL
Da quello che sto leggendo, capisco che un indice è limitato a una dimensione di 1.000 byte. Tuttavia, un carattere VARCHAR
ha una dimensione di 3 byte. Significa che se voglio indicizzare una colonna VARCHAR
con 50 righe, ho bisogno di un prefisso indice di 6 caratteri? (1.000 byte/50 righe/3 byte per carattere = 6,66)
Se è così, questo sembra un po 'complicato - motivo per cui sto mettendo in discussione la mia comprensione. Sembra piuttosto strano che tu possa solo indicizzare 333 righe in una colonna VARCHAR
, usando un prefisso di 1 carattere.
Mi manca qualcosa?
Oh, quindi la limitazione di 1000 byte si applica solo al nome della colonna? – Tommy
@Tommy: si applica alla quantità massima di caratteri che è possibile memorizzare in una colonna indicizzata di un singolo record. – Quassnoi
Grazie, questo lo chiarisce un po '. Quindi ogni record nella colonna che voglio indicizzare può avere 333 caratteri. Qual è il motivo dell'utilizzo del prefisso indice con meno di 333 caratteri? L'esempio nel riferimento mysql utilizza un prefisso di 10 caratteri. – Tommy