2010-10-27 19 views
5

Ich möchte die Größe meiner Datenbank mit PHP wissen. Wie wird die Größe in Megabyte der gesamten Datenbank angezeigt? Größe in Megabyte eine bestimmte Anfrage?Größe der Datenbank. PHP - MySQL

Antwort

9

diese versuchen, die Größe in Bytes zu erhalten:

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"]; 
} 

dann in Megabyte zu konvertieren:

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

Ich habe das heute verwendet. Vielen Dank! – frustratedtech

0

Versuchen Sie, information_schema abzufragen.

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

Ich versuche, für diesen Fall von Internet-Quelle zu ändern, versuchen Sie es einfach Bitte.

<?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'];