mysql-查询表存储空间占用

使用 schema 数据库

mysql> use information_schema;
字段 说明
TABLE_SCHEMA 数据库名
TABLE_NAME 表名
ENGINE 所使用的存储引擎
TABLES_ROWS 记录数
DATA_LENGTH 数据大小
INDEX_LENGTH 索引大小

查询数据库总占用空间

mysql> select concat(round(sum(DATA_LENGTH/1024/1024), 2),'MB') as data_size from TABLES

查询指定数据库占用空间

mysql> select concat(round(sum(DATA_LENGTH/1024/1024), 2),'MB') as data_size 
from TABLES 
where table_schema='db_name';

查询指定表占用空间

# 指定表
mysql> select concat(round(sum(DATA_LENGTH/1024/1024),2),'MB') as data_size 
from TABLES 
where table_schema='db_name' and table_name='tb_name';

# 指定库的每个表
mysql> select table_name, concat(round(sum(DATA_LENGTH/1024/1024),2),'MB') as data_size  
from TABLES 
where table_schema='db_name' 
group by table_name;

DATA_LENGTH改为INDEX_LENGTH就是查询索引占用的空间了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容