查看MySQL每个表占用的空间

查询MySQL数据库中每个表占用的空间、表记录的行数的话,可以打开MySQL的 information_schema 数据库。在该库中有一个 TABLES 表,这个表主要字段分别是:

TABLE_SCHEMA : 数据库名
TABLE_NAME:表名
ENGINE:所使用的存储引擎
TABLES_ROWS:记录数
DATA_LENGTH:数据大小
INDEX_LENGTH:索引大小
其他字段请参考MySQL的手册。

示例:
1、进去指定schema 数据库:

1
use information_schema;

2、查询所有数据的大小 :

1
2
select concat(round(sum(DATA_LENGTH/1024/1024), 2), 'MB') as data 
from TABLES;

3、查看指定数据库实例的大小:

1
2
3
select concat(round(sum(DATA_LENGTH/1024/1024), 2), 'MB') as data 
from TABLES
where table_schema='db_name';

4、查看指定数据库的表的大小:

1
2
3
select concat(round(sum(DATA_LENGTH/1024/1024),2),'MB') as data 
from TABLES
where table_schema='db_name' and table_name='tb_name';