2010-10-27 5 views
5

Je veux connaître la taille de ma base de données en utilisant php. Comment afficher la taille dans la base de données entière de mégaoctets? Taille en mégaoctets une demande spécifique?Taille de la base de données. PHP - MySQL

Répondre

9

Essayez ceci pour obtenir la taille en octets:

mysql_select_db("yourdatabase"); 
$q = mysql_query("SHOW TABLE STATUS"); 
$size = 0; 
while($row = mysql_fetch_array($q)) { 
    $size += $row["Data_length"] + $row["Index_length"]; 
} 

puis convertir en méga-octets:

$decimals = 2; 
$mbytes = number_format($size/(1024*1024),$decimals); 
+0

Je l'ai utilisé aujourd'hui. Merci! – frustratedtech

0

Essayez d'interroger information_schema.

6
SELECT table_schema "Data Base Name", 
sum(data_length + index_length)/1024/
1024 "Data Base Size in MB", 
sum(data_free)/ 1024/1024 "Free Space in MB" 
FROM information_schema.TABLES 
GROUP BY table_schema ; 
2

J'essaie de modifier de la source Internet pour ce cas, juste essayer S'il vous plaît.

<?php 
mysql_connect("localhost","root","password here"); 
$namadb=''; //put db name here 

$sql="SELECT table_schema 'db_name', SUM(data_length + index_length)/1024/1024 'db_size_in_mb' FROM information_schema.TABLES WHERE table_schema='$namadb' GROUP BY table_schema ;"; 
$query=mysql_query($sql); 
$data=mysql_fetch_array($query); 
print $data['db_size_in_mb']; 
Questions connexes