Me revoilà

Je comprend de moins en moins mon hébergeur (serveur mutualisé), il m'envoie des mails me disant que les requêtes SQL de mon site sont trop lentes et ralentissent le serveur et quand j'essaye d'optimiser ma BDD c'est à ce moment précis que je reçoit des mail intitulés "Slow MySQL Query" (parfois 4 d'une coup, ils rigolent pas

).
Au final j'ai encore moins de problèmes quand je n'y touche pas.
J'utilise un script PHP pour l'optimisation (l'optimisation via SMF ne fonctionnait pas super, le serveur plantait pendant l'optimisation) :
<?php
$mysql_connexion = mysql_connect('*******', '*******', '*******', true);
//ETAPE 1 : on liste les bases de données
$db = array();
$mysql_query = mysql_query("SHOW DATABASES;");
while( $ligne = mysql_fetch_assoc($mysql_query) )
{
array_push($db, $ligne['Database']);
}
//ETAPE 2 : pour chaque base, on liste les tables pour ne conserver que celles qu'on optimisera
foreach( $db as $database )
{
mysql_query("USE `{$database}`");
$tables = array();
$mysql_query = mysql_query("SHOW TABLE STATUS;");
while( $ligne = mysql_fetch_assoc($mysql_query) )
{
//seulement s'il y a des pertes de données
if( $ligne['Data_free'] > 0 )
{
array_push($tables, '`'.$ligne['Name'].'`');
}
}
//Optimisation
$tables = implode(',', $tables);
mysql_query("OPTIMIZE TABLES {$tables};");
}
//ETAPE 3 : on clôture la connexion
mysql_close($mysql_connexion);
unset($mysql_connexion, $mysql_query, $tables, $database, $db, $ligne);
?>
Il y a peut être un problème avec ce script, au final la meilleure chose à faire semble être de ne plus toucher à ce forum (en tout cas de ne plus essayer de l'optimiser parce que ça produit l'effet inverse).