Scripts
overhead verwijderen
script die ik gemaakt heb om alle overhead in mysql database weg te halen. Overhead is als er rijen worden toegevoegd en verwijderd , op den duur kun je veel overhead krijgen wat zonde is van je mysql ruimte. deze script doet precies het zelde als de script van VeeWee http://www.phphulp.nl/php/scripts/2/174/ wat ik ook als voorbeeld heb gebruikt alleen deze pakt alle tabbellen in de database automatische , als je een grote database is het best wel wat werk om al die tabbellen in je script te zetten. ( of ik ben gewoon te lui :P)
overhead-verwijderen
<?
//mark kloosterhuis
//settings
$db_url = '***';
$db_user = '***';
$db_pass = '***';
$db_naam = '***';
//connecteb
@mysql_connect($db_url, $db_user, $db_pass)or die('Er kan geen verbinding worden gemaakt met je database server. Probeer de juiste gegevens in te vullen.');
@mysql_select_db($db_naam) or die('De databasenaam die je hebt ingevuld lijkt niet te bestaan.');
$tabbellenover = 0;
$tabbellen = 0;
$totaaloverhead = 0;
//tabellen ophalen
$result = mysql_query("SHOW TABLES FROM $db_naam");
while ($tabel = mysql_fetch_row($result)) {
$tabbellen++;
//elke tabel checken of er overhead is
$sql_overhead = mysql_query("SHOW TABLE STATUS LIKE '".$tabel[0]."'");
$overhead = mysql_fetch_array($sql_overhead);
//als er overhead is dan deleten
if ($overhead['Data_free'] > 0){
$tabbellenover++;
$totaaloverhead += $overhead['Data_free'];
$optimize = mysql_query("OPTIMIZE TABLE ".$tabel[0]);
//melden hoeveel overhead er verwijderd is
echo "Er is een overhead van ".$overhead['Data_free']." Bytes verwijderd in ".$tabel[0]."!<br />";
}
else {
echo "Er is geen overhead in ".$tabel[0]."!<br />";
}
}
echo "<br>totaal aantal tabbellen : ".$tabbellen."<br>";
echo "totaal aantal tabbellen met overhead : ".$tabbellenover."<br>";
echo "totaal aantal Bytes verwijderd : ".$totaaloverhead."<br>";
?>
Reacties
0