[script] Ottimizzazione automatica tabelle mysql postato il 27/10/2012 02:42:03 nel forum programmazione, gdrcd, open source, hosting e modificato da ilgrandeinverno il 27/10/2012 17:32:30
Cercavo una funzione utile in php per gestire automaticamente l'ottimizzazione delle tabelle con spazio libero "di scarto" (che si accumula con le varie delete periodiche) operazione che solitamente si fa da phpmyadmin selezionando le tabelle da ottimizzare.
Cercando qua e la ho trovato solo script che estraggono tutte le tabelle (tutte in generale) o tutte quelle da ottimizzare, e poi per ogni singola tabella eseguono una query per ottimizzarla.
Se servisse a qualcuno lo pubblico qui... é uno stralcio da una delle funzioni di manutenzione che lanciamo tutte le mattine presto (se non erro l'ottimizzazione delle tabelle mysql locka temporaneamente le tabelle e anche se il blocco é infinitesimale conviene farlo quando non ci sono utenti conessi).
Il vantaggio rispetto ad altri script che si trovano é che se non vi occorre uno stamp di ogni singola tabella ottimizzata, con un'unica query effettuate l'ottimizzazione di tutte le tabelle che richiedono manutenzione anzichè ripetere l'esecuzione di una query per ogni singola tabella.
L'utilità dell'ottimizzazione delle tabelle cresce in funzione della quantità di operazioni di DELETE che vengono effettuate su tabelle che hanno una mole consistente di dati all'interno (tipicamente tabelle contenti compi VARCHAR, TEXT, BLOB, BINARY*, o con moltissimi campi). Tipicamente tabelle che contengono dati della chat, della messaggeria, e via dicendo.
Noi ce la caviamo lanciando la funzione una volta al giorno al mattino presto DOPO tutte le altre operazioni di manutenzione (compresa la cancellazione dei record obsoleti o scaduti) e mediamente ottimizza ogni giorno circa mezzo mega di spazio "di scarto" su un db di dimensioni medie oscillanti tra i 42 e i 50 mb ma a seconda delle necessità l'ottimizzazione può essere usata a intervalli più frequenti o più diradati (ideale per chi ha la possibilità di impostare dei cron jobs).
Lo script può essere facilmente adattato sia per aggiungere la funzione di REPAIR, se lo si desidera, sia per concatenare i nomi delle tabelle e farne uno stamp a parte se occorre tenere traccia delle tabelle ottimizzate.
Non fate caso al crudissimo mysql_query senza manco un die() se la query fallisce, nel codice originale invece di mysql_query() c'è una funzione a parte che prende altri parametri ma che non sarebbe utilizzabile per chi non l'ha definita o ne usa altre personalizzate (es. gdr-cd 5 mi pare).
NB: ovviamente lo script dà per scontato che sia già attiva una connessione mysql e che sia già stato selezionato il database in uso.
Pagine → 1
27/10/2012 09:13:29
Vorrei aggiungere che a questa pagina http://www.html.it/pag/32164/lottimizzazione/ ↗ c'è una guida base per come ottimizzare un database, io l'ho trovata molto utile :P
27/10/2012 14:21:08
Aggiungerei che è ALTAMENTE sconsigliato usare lo script postato qui sopra se il proprio gdr si trova su Altervista!
Io ho fatto ottimizzazione delle tabelle per un po' di tempo, finchè non mi si è corrotto l'intero database perchè per qualche ragione astrusa su Altervista non funziona bene. Il personale tecnico mi ha poi confermato che non è una buona cosa fare ottimizzazione delle tabelle sui loro server, e che ci pensano loro in automatico.
27/10/2012 16:11:17
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, GDRCD, Open Source, Hosting Elenco Forum
Storie di Agarthi: La Lunga Notte è arrivata
I dati del generatore di rank sono stati aggiornati!
Exclusive Villa GdR → Las Vegas, azzardo, vizi, soldi, intrighi... Più le sue luci sono scintillanti, più le sue ombre sono oscure. La città che non dorme mai, vi aspetta.
Felix Felicis GdR - Harry Potter GdR: Le uova di... Natale? - Evento ON
Ex Gratia GDR: Massima personalizzazione coi tratti specie!
nerelyn ha aperto una nuova discussione: Personaggio in cerca di Land
The Eyrie GdR: Nuove Fazioni ed entrata in Beta
AlterEgo → Scopri AlterEgo GdR: un incredibile universo narrativo in stile medievale fantasy che cresce, muta e vive giorno dopo giorno grazie ai suoi giocatori!
Piume Nere: 🎄 Le Notti Sacre Sono Iniziate 🕯️
La categoria Browser Game raggiunge i 3.900 giochi catalogati!
RAID Shadow Legends: Anaxia la Rinata!
Enlisted: Test aggiornamento "Fronte dell'Estremo Oriente"
Seconda Era → Vaste terre coperte di ombre e misteri, dove ogni eroe scrive la storia del Mondo di Eidel. Seconda Era, play by chat
Ex Gratia GDR: Il nuovo manuale è online!
Star Trek Horizon: QuestLog: Natale al cubo
Black Sails Chronicles: ON - 3° Serata Gara di Bevute
Enlisted → Guida la tua squadra di soldati in combattimenti su larga scala, con fanteria, veicoli corazzati e aerei della IIa Guerra Mondiale!
