MySQL命令查看数据库和表容量大小

用MySQL内置的数据库 information_schema,该数据库中的tables表保存了其他数据库中所有表的信息。

use information_schema;

1、进去指定schema 数据库(存放了其他的数据库的信息)
     mysql> use information_schema;


2、查询所有数据的大小 
     mysql> select concat(round(sum(DATA_LENGTH/1024/1024),2),'MB') as data from TABLES;


3、查看指定数据库实例的大小,比如说数据库 yoon 
     mysql> select concat(round(sum(DATA_LENGTH/1024/1024),2),'MB') as data from TABLES where table_schema='yoon';


4、查看指定数据库的表的大小,比如说数据库 yoon 中的 yoon 表 
     mysql> select concat(round(sum(DATA_LENGTH/1024/1024),2),'MB') as data from TABLES 
                 where table_schema='yoon' and table_name='yoon';


5、指定库的索引大小:


SELECT CONCAT(ROUND(SUM(index_length)/(1024*1024), 2), ' MB') AS 'Total Index Size' FROM TABLES  WHERE table_schema = 'sakila'; 


6、指定库的指定表的索引大小:


SELECT CONCAT(ROUND(SUM(index_length)/(1024*1024), 2), ' MB') AS 'Total Index Size' FROM TABLES  WHERE table_schema = 'test' and table_name='sakila'; 


7、一个库中的使用情况:


SELECT CONCAT(table_schema,'.',table_name) AS 'Table Name', CONCAT(ROUND(table_rows/1000000,4),'M') AS 'Number of Rows', CONCAT(ROUND(data_length/(1024*1024*1024),4),'G') AS 'Data Size', CONCAT(ROUND(index_length/(1024*1024*1024),4),'G') AS 'Index Size', CONCAT(ROUND((data_length+index_length)/(1024*1024*1024),4),'G') AS'Total'FROM information_schema.TABLES WHERE table_schema LIKE 'sakila';

8、题外方法

直接用shell命令统计mysql data目录中的大小(注意只有库,不包含数据库日志大小)

备注 :

data_length :存储数据大小

data_length/1024/1024:将字节转换为MB

round(sum(data_length/1024/1024),2):取两位小数

concat(round(sum(data_length/1024/1024),2),'MB') :给计算结果追加单位 “MB”

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值