本文实例讲述了php计算整个mysql数据库大小的方法。分享给大家供大家参考。具体如下:
这里用MB,KB或者GB的格式返回计算结果。
function CalcFullDatabaseSize($database, $db) { $tables = mysql_list_tables($database, $db); if (!$tables) { return -1; } $table_count = mysql_num_rows($tables); $size = 0; for ($i=0; $i < $table_count; $i++) { $tname = mysql_tablename($tables, $i); $r = mysql_query("SHOW TABLE STATUS FROM ".$database." LIKE "".$tname."""); $data = mysql_fetch_array($r); $size += ($data["Index_length"] + $data["Data_length"]); }; $units = array(" B", " KB", " MB", " GB", " TB"); for ($i = 0; $size > 1024; $i++) { $size /= 1024; } return round($size, 2).$units[$i];}/*** Example:*/// open mysql connection:$handle = mysql_connect("localhost", "user", "password"); if (!$handle) { die("Connection failed!"); }// get the size of all tables in this database:print CalcFullDatabaseSize("customer1234", $handle);// --> returns something like: 484.2 KB// close connection:mysql_close($handle);
希望本文所述对大家的php程序设计有所帮助。