Déterminer la taille d'un base de données mysql et le nombre d'enregistrements

Contenu du snippet

Pour déterminer la taille d'une base de données MYSQL et le nombre d'enregistrements. on fait appel à la requête suivante :

"SHOW TABLE STATUS", qui affiche plusieurs informations concernant les tables. Et en parcourant le résultat de cette requête, on peut tirer la taille de la base en additionnant la tailles des tables et les index.

Ce code est utile pour suivre l'évolution de votre base de données en cas où vous avez une interface Admin dans votre site web et que vous ne voulez pas utiliser PHPMyAdmin pour voir tout ça ;)

NB : ce code est tiré de : http://www.webmasterworld.com/forum88/2069.htm

Source / Exemple :


<html>
<head>
<title>Taille Base de données MySQL</title>
</head>

<body>
<?php
function file_size_info($filesize)
{
 $bytes = array('Octets', 'Ko', 'Mo', 'Go', 'To');

 if ($filesize < 1024) $filesize = 1;

 for ($i = 0; $filesize > 1024; $i++)
 $filesize /= 1024;
 $file_size_info['size'] = ceil($filesize);
 $file_size_info['type'] = $bytes[$i];
 return $file_size_info;
 }
 $db_server = 'localhost';
 $db_user = 'root';
 $db_pwd = 'pwd';
 $db_name = 'bdd';
 $db_link = mysql_connect($db_server, $db_user, $db_pwd)  or exit('Could not connect: ' . mysql_error());
 $db = mysql_select_db($db_name, $db_link)  or exit('Could not select database: ' . mysql_error());
 // Déterminer le nombre d'enregistrements et la taille de la base de données en additionnant la taille de la table + la taille de l'index :
 $rows = mysql_query("SHOW TABLE STATUS");
 $dbSize = 0;
 $dbrows = 0;
 while ($row = mysql_fetch_array($rows))
 {
 $dbSize += $row['Data_length'] + $row['Index_length'];
 $dbrows += $row['Rows'];
 }
 $dbSizeKo = file_size_info($dbSize);
 print "Taille de la base de données : {$dbSizeKo['size']} {$dbSizeKo['type']} ($dbSize octets)<br />";
 print "Nombre d'enregistrements : $dbrows enregistrements<br />";
 ?>
 </body>
 </html>

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.