最近要求测试大规模数据在MySQL中的性能情况,因为在网上下载到的都是单个的csv格式数据,要分别导入数据库中,所以要求查看数据库的具体大小。
1. 查询所有数据库占用磁盘大小:
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;
2. 查询单个数据库中所有表占用大小:
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;
其中,testDB是待测试的数据库名。