mysql-查询表存储空间占用
2017-08-18 本文已影响0人
Eraz
使用 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
就是查询索引占用的空间了。