php计算整个mysql数据库大小的方法

yipeiwu_com6年前Mysql基础

本文实例讲述了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程序设计有所帮助。

相关文章

php更新mysql后获取改变行数的方法

本文实例讲述了php更新mysql后获取改变行数的方法。分享给大家供大家参考。具体分析如下: 一个php更新mysql后获取改变的行数,在php中提供mysql函数来获取最后执行查询所影...

mysql desc(DESCRIBE)命令实例讲解

mysql desc命令用于查看表结构,是DESCRIBE命令的简写形式。 mysql desc命令语法: desc tablename 该命令会显示表哪些信息呢?具体包括: 字...

mysql建立外键

建立外键的前提:本表的列必须与外键类型相同(外键必须是外表主键)。 外键作用: 使两张表形成关联,外键只能引用外表中的列的值! 指定主键关键字: f...

PHP获取MySql新增记录ID值的3种方法

一、使用语句:   复制代码 代码如下:mysql_query("select max(id) from t1",$link); 使用此方法得到的是 id最大的值,确为最后一个...

PHP用mysql_insert_id()函数获得刚插入数据或当前发布文章的ID

前言 最近在工作中又遇到了这个问题,PHP中如何获得刚插入数据的ID(或当前发布文章的ID)呢?觉得有必要整理下详细的解决方法,方便自己也给有需要的朋友们提供以帮助,那么话不多说了,来看...