use information_schema
SELECT sum(DATA_LENGTH)+sum(INDEX_LENGTH) from tables where TABLE_SCHEMA='数据库名'
得到的结果是以字节为单位,除1024为K,除1048576为M。
information_schema是mysql的系统数据库,里面的tables表存储了所有数据库的信息;
当然如果有mysql可视化软件的话,可以直接打开information_schema的tables表查看。
还有,如果用的是innodb引擎的话数据库的默认大小不能超过4G
防止存储空间不足。根据对表大小的估算,进而可以估算出整个数据库的大小。在项目测试阶段,可以根据所有对象进行估算,从而可以估算出系统上线以后数据库的大小,根据这些数据可以规划存储。这里要注意一点,要给备份留足存储空间。一般备份需要的空间是DB的2-3倍。如果DB是100G,那么给备份的空间最好是200G以上。在phpmyadmin中点击数据库,在显示表的下方有统计容量大小的数据。例如:
columns_priv 0 MyISAM utf8_bin 1.0 KB -
db 1 MyISAM utf8_bin 4.9 KB 438 字节
func 0 MyISAM utf8_bin 1.0 KB -
help_category36 MyISAM utf8_general_ci 23.4 KB -
help_keyword 378 MyISAM utf8_general_ci 87.7 KB -
help_relation 724 MyISAM utf8_general_ci 18.4 KB -
help_topic 458 MyISAM utf8_general_ci 258.4 KB -
host 0 MyISAM utf8_bin 1.0 KB -
proc 0 MyISAM utf8_general_ci 1.0 KB -
procs_priv 0 MyISAM utf8_bin 1.0 KB -
tables_priv 0 MyISAM utf8_bin 1.0 KB -
time_zone 0 MyISAM utf8_general_ci 1.0 KB -
time_zone_leap_second 0 MyISAM utf8_general_ci 1.0 KB -
time_zone_name0 MyISAM utf8_general_ci 1.0 KB -
time_zone_transition 0 MyISAM utf8_general_ci 1.0 KB -
time_zone_transition_type0 MyISAM utf8_general_ci 1.0 KB -
user 2 MyISAM utf8_bin 2.2 KB -
17 个表 总计 1,599 MyISAM gb2312_chinese_ci 406.0 KB 438 字节
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)