Accueil | Astuces | MySQL | Comment optimiser une base de données MySQL

Comment optimiser une base de données MySQL

Envoyer Imprimer PDF
MySQL permet d'optimiser les tables d'une base de manière très simple, il suffit de lancer la requête suivante:
OPTIMIZE TABLE 'table1', 'table2', ..., 'tableN'

En tant que bon webmaster, vous désirez faire un script qui optimise automatiquement vos tables mais deux problèmes se posent:
  • Vous ne voulez pas "coder en dur" toutes vos tables,
  • Vous ne voulez optimiser que les tables qui en ont besoin.

Heureusement pour nous, MySQL peut vous informer sur la structure d'une base avec la requête suivante:
SHOW TABLE STATUS

Le retour de cette requête comporte deux champs qui nous intéressent au plus au point:
Name qui est le nom de la table
Data_free qui est l'espace pouvant être libéré.

Script :

<?
    // Vous êtes déjà connecté à votre base de données ...

    // On initialise la requête d'optimisation
    $sql_opt = "OPTIMIZE TABLE ";

    // On recherche toutes les données des tables
    $sql_status = "SHOW TABLE STATUS"
    $req_status = mysql_query($sql_status);

    while($t_status = mysql_fetch_array($req)) {
       if($t_status["Data_free"] > 0) {
           // Data_free est supérieur à 0, on peut optimiser la table
           $sql_opt .= "`".$t_status["Name"]."`, ";
       }
    }
    // Le "substr" est utilisé pour supprimer le ", " final de la requête
    $sql_opt = substr($sql_opt, 0, -2);
    mysql_query($sql);
?>

** Les noms des tables sont protégés avec des "`" et non pas des "'".


{mos_fb_discuss:no_discuss}
 

Rétrolien(0)

Adresse URI pour un rétrolien sur cet article

Commentaires (0)

Flux RSS pour les commentaires

Ecrivez un commentaire

Réduire l'éditeur | Agrandir l'éditeur

busy
Mis à jour ( Mardi, 13 Novembre 2007 03:22 )  

Syndication

Tag

Requires Flash Player 9 or better.

Publicités


Espace sécurisé



Les plus lus