- Home
- Categorie
- Coding e Sistemistica
- MYSQL e altri Database
- [mysql] ottimizzare tabelle
-
[mysql] ottimizzare tabelle
salve,
sono il solito profano che usa phpmyadmin per i suoi sitarelli.
la domanda è:al di la di come sono progettate, ottimizzare le tabelle col comando ottimizza serve a qualcosa?
celerizza le query?
fa perdere meno tempo?
fa caching automatico migliore? e se si, come?[offtopic]
oddioquantedomande!
[/offtopic]
-
Le tabelle hanno un surplus di dati in caso di cancellazioni in quanto al momento del delete i dati non vengon fisicamente cancellati ma solo flaggati come "deleted". Vengono poi riutilizzati da nuovi inserimenti (e quindi non si perde spazio)
quotato da senamion
-
ok, ma con la flaggatura, non si perde sulle prestazioni del db?
cioè, non è tanto il tempo che si impiega nel flaggare come delete i record, quanto quello di fare delle select che passino a leggere anche i record flaggati.
oppure i flaggati non vengono nemmeno letti?
-
I flaggati non vengono nemmeno letti. Vengono flaggati per evitare alla delete l'operazione dispendiosa di cancellare fisicamente il record.
Optimize fa proprio quello che la delete non fa.
-
cioè quindi con OPTIMIZE elimino i flaggati, giusto?
ok, quindi ottimizzare fa "bene alla salute del db"
-
Beh... si chiama "optimize"!
Comunque è utile in caso vengano effettuate numerose cancellazioni. Tabelle in cui vengono fatti solo inserimenti non risentono dell'optimize.