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

yipeiwu_com7年前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配置心得包含MYSQL5乱码解决

经过最近一段时间狂热的PHP编程,对WINDOWS平台下PHP的配置可算是深有感触,一开始我用的是一键安装的傻瓜包,但是考虑傻瓜包的安装版本已经落后,在真正手动配置PHP环境时遇到许多问...

MySQL授权问题总结

我用localhost的root帐号不能连 最后请教DBA组新建用户搞定! 现弄些受权用户的资料 以备不时之需 授权表使用举例 grant用于给增加用户和创建权限,r...

php实现MySQL数据库备份与还原类实例

本文实例讲述了php实现MySQL数据库备份与还原类。分享给大家供大家参考。具体分析如下: 这是一个非常简单的利用php来备份mysql数据库的类文件,我们只要简单的在dbmange中配...

php+mysqli数据库连接的两种方式

本文实例讲述了php+mysqli数据库连接的两种方式。分享给大家供大家参考。具体如下: 这里讲述mysqli数据库连接两种方式比较,即面向对象与面向过程。代码如下: 第一种方式:面向对...

PHP调用MySQL存储过程并返回值的方法

本文实例讲述了php中调用执行mysql存储过程然后返回由存储过程返回的值,分享给大家供大家参考。具体分析如下: 调用存储过程的方法. a。如果存储过程有 IN/INOUT参数,声明一个...