DÉTERMINER LA TAILLE D'UN BASE DE DONNÉES MYSQL ET LE NOMBRE D'ENREGISTREMENTS

Signaler
Messages postés
2226
Date d'inscription
dimanche 5 octobre 2003
Statut
Modérateur
Dernière intervention
18 novembre 2010
-
Messages postés
24
Date d'inscription
samedi 10 janvier 2009
Statut
Membre
Dernière intervention
7 juin 2014
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/27761-determiner-la-taille-d-un-base-de-donnees-mysql-et-le-nombre-d-enregistrements

Messages postés
24
Date d'inscription
samedi 10 janvier 2009
Statut
Membre
Dernière intervention
7 juin 2014

tres simpa comme code !!! Merci !
Messages postés
1
Date d'inscription
vendredi 1 décembre 2006
Statut
Membre
Dernière intervention
29 avril 2008

Je ne trouve pas que que c'est une bonne idée de séparé le type d'unité et les unités.
Cette fonction marche pas mal du tout et rendra quelque chose d'exact.

function size_readable($size, $retstring = null)
{
$sizes = array('o', 'Ko', 'Mo', 'Go', 'To', 'Po', 'Eo', 'Zo', 'Yo'); if ($retstring null) { $retstring '%01.2f %s'; }

$lastsizestring = end($sizes);
foreach ($sizes as $sizestring)
{
if ($size < 1024) { break; }
if ($sizestring != $lastsizestring) { $size /= 1024; }
}
if ($sizestring $sizes[0]) { $retstring '%01d %s'; } // Bytes ne sont pas fractionnaire normalement ...

return sprintf($retstring, $size, $sizestring);
}

Du coup, le code devient :
$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'];
}
echo 'Taille de la base de données : '.size_readable($dbSize).' ('.$dbSize.' octets)

';
echo 'Nombre d\'enregistrements : '.$dbrows.' enregistrements

';

Cdt.
Sky
Messages postés
70
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
31 janvier 2009

Et comment faire pour calculer le poids de toutes les bases de données appartenant à un seul utilisateur ?
Messages postés
1
Date d'inscription
samedi 26 février 2005
Statut
Membre
Dernière intervention
28 septembre 2007

rÉponse ;a
------------------------
query="SELECT COUNT(*) FROM MA_TABLE";
mon problème est comment mettre le resultat de cette requete dans une variable entière pour que je puisse l'utiliser dans une boucle for.
je veux la reponse le plus vite possible

et merci d'avance
--------------------------------

$query = "SELECT COUNT(*) as total FROM MA_TABLE";
$res = mysql_query( $query )
$row = mysql_fetch_object( $res )
$total = $row->total;
Afficher les 26 commentaires