Sono stati definiti molti indici sulle tabelle. Hai mai pensato a come funziona l'indicizzazione?
Semplicemente un indice è una tabella temporanea in dbase che mantiene una copia della colonna indicizzata ordinata. Quando viene inserita una nuova riga, dbase pone un nuovo record nella tabella temporanea al posto giusto così un indice ha i seguenti risultati:
A) Vantaggi:
1) Aumento della velocità di ricerca perché la tabella è ordinato in una tabella temporanea sulla base di campo indicizzato (s)
B) Svantaggi:
1) Rallentare (Create, Update, Delete) perché stesse azioni dovrebbero essere fatte su tabelle temporanee, se necessario.
2) Le dimensioni del DataBase aumentano a causa dell'utilizzo delle tabelle temporanee.
Conclusione:
indicizzazione è un compromesso di grandi dimensioni db e più lento inserimento e ricerca rapida in grande quantità di dati. Utilizzare l'indicizzazione sui campi a cui si fa frequentemente riferimento come criterio di ricerca (WHERE) e rimuovere gli indici aggiuntivi per ottimizzare la progettazione del db.
ah capisco, quindi se stessimo usando le connessioni persistenti su un server occupato potremmo vedere aumentare il valore ad un grande valore, ma non è nulla di cui preoccuparsi? – Tom
dipende da come vengono create le tabelle. la creazione di una tabella temporanea "A" in una connessione va bene. il successivo riutilizzo della connessione riutilizzerà solo la stessa tabella. ma se li stai generando con nomi casuali, perderai quei tavoli temporanei fino a quando la connessione non verrà chiusa e mysql pulirà. –
Perdita dove, su disco, in memoria? – Tom