Ciao a tutti, ho un DB composto da diverse tabelle, da phpmyadmin vedo che alcune di queste tabelle hanno dati in eccesso, che vuol dire?
Il totale dei dati in eccesso è 2,8 KB e il peso complessivo del DB è 120,0 KB, che devo fare?
Grazie a tutti.
Ciao a tutti, ho un DB composto da diverse tabelle, da phpmyadmin vedo che alcune di queste tabelle hanno dati in eccesso, che vuol dire?
Il totale dei dati in eccesso è 2,8 KB e il peso complessivo del DB è 120,0 KB, che devo fare?
Grazie a tutti.
Devi ottimizzare la tabella con questa query
optimize table nome_tabella
Se non sbaglio, gia`in phpMyAdmin hai un tasto: "ottimizza tabella".
Comunque come scrive il "GRANDE" nicola75ss e`la soluzione migliore.
¿Hasta la pasta?
Probabile. Non ricordo, io mi trovo meglio con mysql yog e non uso pma da tempo.Originariamente inviato da polinet
Se non sbaglio, gia`in phpMyAdmin hai un tasto: "ottimizza tabella".
Ma di cosa.Comunque come scrive il "GRANDE" nicola75ss e`la soluzione migliore.Comunque grazie.
![]()
Grazie ragazzi per le celeri risposte.
C'è un modo per ricavare con una query le tabelle con i dati in eccesso?
Invece di dover fare una query per ogni tabella (oppure posso fare optimize table nome_tabella , nome_tabella , nome_tabella.....?), non c'è qualcosa del tipo optimize table where dati _in_eccesso....
o qualcosa del genere.
Grazie mille ancora.
show table status from nome_database where Data_free > 0
trovi le tabelle del db con i dati in eccesso.
Per l'ottimizzazione contemporanea non so se si possa fare con mysql.
Con uno script php dovrebbe essere semplice.
Mi è successa una cosa strana, stavo facendo delle prove con qualche query del tipo:
$query = mysql_query("SHOW TABLE STATUS FROM nome_DB");
while ($info=mysql_fetch_array($query)){
echo $info["Name"]."
";
echo $info["Data_free"]."
";
}
e con mio sommo stupore oggi la tabella con i dati in eccesso è solo una!!
Può essere che MySql abbia un sistema automatico di ottimizzazione dei dati?
Non mi risultaOriginariamente inviato da maurelio79
e con mio sommo stupore oggi la tabella con i dati in eccesso è solo una!!
Può essere che MySql abbia un sistema automatico di ottimizzazione dei dati?![]()
Quando si eseguono movimenti/variazioni di records in una tabella myisam, si possono creare spazi inutilizzati. Vuoi con delete/insert, ma anche con UPDATE. Questi spazi non sono "persi" ma vengono riutilizzati quando se ne presenta l'occasione.Originariamente inviato da maurelio79
Può essere che MySql abbia un sistema automatico di ottimizzazione dei dati?
Facciamo un esempio:
elimini il record 20 di un totale di 100. Il record viene fisicamente cancellato, ma lo spazio occupato dal record 20 rimane vuoto e la tabella risulta non ottimizzata (frammentata).
Aggiungi un record 101 che occupa uno spazio tale da poter essere inserito al posto fisico del record 20 rimosso. Questo verra' inserito al posto del record 20 e la tabella risultera' nuovamente ottimizzata nello spazio occupato.
Questo non avviene con le tabelle InnoDB data la diversa struttura utilizzata da questo motore
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
Ciao Piero.Originariamente inviato da piero.mac
Quando si eseguono movimenti/variazioni di records in una tabella myisam, si possono creare spazi inutilizzati. Vuoi con delete/insert, ma anche con UPDATE. Questi spazi non sono "persi" ma vengono riutilizzati quando se ne presenta l'occasione.
Facciamo un esempio:
elimini il record 20 di un totale di 100. Il record viene fisicamente cancellato, ma lo spazio occupato dal record 20 rimane vuoto e la tabella risulta non ottimizzata (frammentata).
Aggiungi un record 101 che occupa uno spazio tale da poter essere inserito al posto fisico del record 20 rimosso. Questo verra' inserito al posto del record 20 e la tabella risultera' nuovamente ottimizzata nello spazio occupato.
Questo non avviene con le tabelle InnoDB data la diversa struttura utilizzata da questo motore![]()
Grazie per la spiegazione. Sei stato chiarissimo.