要想知道每个数据库的大小的话,步骤如下:
1、进入information_schema 数据库(存放了其他的数据库的信息)
use information_schema;
2、查询所有数据的大小:
select concat(round(sum(data_length/1024/1024),2),'MB') as data from tables;
如有索引的话,需要把索引大小加上:
SELECT concat(round(sum(data_length/1024/1024),2),'MB') as data_size,concat(round(sum(INDEX_LENGTH/1024/1024),2),'MB') as index_size
FROM information_schema.tables
3、查看指定数据库的大小:
比如查看数据库home的大小
select concat(round(sum(data_length/1024/1024),2),'MB') as data from tables where table_schema='home';
4、查看指定数据库的某个表的大小
比如查看数据库home中 members 表的大小
select concat(round(sum(data_length/1024/1024),2),'MB') as data from tables where table_schema='home' and table_name='members';
详细出处参考:http://www.frostsky.com/2011/08/MySQL-query-size/
注:如果数据已经删掉了,但空间未释放的原因可能是碎片引起,解决方法: