MYSQL中查看某个表或库的大小语句

在information_schema.tables中有相关记录的字段信息,比如:
TABLE_SCHEMA | varchar(64) | NO | | | |  数据库的名字
| TABLE_NAME | varchar(64) | NO | | | |    表名

DATA_LENGTH | bigint(21) unsigned | YES | | NULL | |   数据空间大小

| INDEX_LENGTH | bigint(21) unsigned | YES | | NULL | |   数据索引大小


查询所有数据库占用磁盘空间大小的SQL语句:

select TABLE_SCHEMA, concat(truncate(sum(data_length)/1024/1024,2),' MB') as data_size,
concat(truncate(sum(index_length)/1024/1024,2),'MB') as index_size
from information_schema.tables
group by TABLE_SCHEMA
order by data_length desc;
查询单个库中所有表磁盘占用大小的SQL语句:

select TABLE_NAME, concat(truncate(data_length/1024/1024,2),' MB') as data_size,
concat(truncate(index_length/1024/1024,2),' MB') as index_size
from information_schema.tables where TABLE_SCHEMA = 'TestDB'
group by TABLE_NAME
order by data_length desc;

猜你喜欢

转载自jackyrong.iteye.com/blog/2367115