Corsi on-line

Ottimizzazione al volo delle tabelle di MySQL con PHP

Archiviare dati in una tabella è un processo che influisce sul livello di ottimizzazione della stessa, le operazioni di inserimento e di cancellazione determinano, infatti, la formazione di “spazi vuoti” che sono la causa di un fenomeno di frammentazione molto simile a quello che può essere osservato per i supporti di memoria.

Il comando OPTIMIZE TABLE permette di ottimizzare una tabella per deframmentazione; in realtà non vi è la necessità di utilizzare questo statement in seguito a cancellazioni che coinvolgono piccole quantità di dati, esso, infatti, deve essere interpretato come un comando per la manutenzione da effettuare solo dopo la cancellazione di un gran numero di records.

In questo breve post vedremo come sia possibile effetuare una veloce operazione di ottimizzazione su tutte le tabelle di un database utilizzando un piccolo script in PHP:

// query per la visualizzazione delle tabelle
$tabelle = @mysql_query("SHOW TABLES") or die (mysql_error());
// ciclo di estrazione delle singole tabelle
while ($tab = mysql_fetch_assoc($tabelle))
{
// estrazione del valore relativo al nome delle singole tabelle
foreach ($tab as $d => $tablename)
{
// istruzione per l'ottimizzazione
@mysql_query("OPTIMIZE TABLE '".$tablename."'") or die (mysql_error());
}
}

Lo script non fa altro che estrarre i nomi di tutte le tabelle presenti all’interno di un database, questi parametri verranno poi passati (tramite un ciclo) uno alla volta al comando OPTIMIZE TABLE per la deframmentazione.

Post correlati
I più letti del mese
Tematiche