网上找的一个,亲测可用:
//先进去MySQL自带管理库:information_schema
//然后查询 data_length,index_length
//你自己的数据库名:dbname
//你自己的表名:tablename
mysql> use information_schema;
Database changed
mysql> select data_length,index_length
-> from tables where
-> table_schema=‘dbname‘
-> and table_name = ‘tablename‘;
+-------------+--------------+
| data_length | index_length |
+-------------+--------------+
| 166379520 | 235782144 |
+-------------+--------------+
row in set (0.02 sec)
mysql> select concat(round(sum(data_length/1024/1024),2),‘MB‘) as data_length_MB,
-> concat(round(sum(index_length/1024/1024),2),‘MB‘) as index_length_MB
-> from tables where
-> table_schema=‘dbname‘
-> and table_name = ‘tablename‘;
+----------------+-----------------+
| data_length_MB | index_length_MB |
+----------------+-----------------+
| 158.67MB | 224.86MB |
+----------------+-----------------+
row in set (0.03 sec)
-----------------------------------------------------------------------------------
1.查看所有数据库容量大小
select table_schema as ‘数据库‘, sum(table_rows) as ‘记录数‘, sum(truncate(data_length/1024/1024, 2)) as ‘数据容量(MB)‘, sum(truncate(index_length/1024/1024, 2)) as ‘索引容量(MB)‘ from information_schema.tables group by table_schema order by sum(data_length) desc, sum(index_length) desc;
2.查看所有数据库各表容量大小
select table_schema as ‘数据库‘, table_name as ‘表名‘, table_rows as ‘记录数‘, truncate(data_length/1024/1024, 2) as ‘数据容量(MB)‘, truncate(index_length/1024/1024, 2) as ‘索引容量(MB)‘ from information_schema.tables order by data_length desc, index_length desc;
3.查看指定数据库容量大小
例:查看mysql库容量大小
select table_schema as ‘数据库‘, sum(table_rows) as ‘记录数‘, sum(truncate(data_length/1024/1024, 2)) as ‘数据容量(MB)‘, sum(truncate(index_length/1024/1024, 2)) as ‘索引容量(MB)‘ from information_schema.tables where table_schema=‘mysql‘;
4.查看指定数据库各表容量大小
例:查看mysql库各表容量大小
select table_schema as ‘数据库‘, table_name as ‘表名‘, table_rows as ‘记录数‘, truncate(data_length/1024/1024, 2) as ‘数据容量(MB)‘, truncate(index_length/1024/1024, 2) as ‘索引容量(MB)‘ from information_schema.tables where table_schema=‘mysql‘ order by data_length desc, index_length desc;
select concat(round(sum(data_length/1024/1024),2),‘MB‘) as data_length_MB, concat(round(sum(index_length/1024/1024),2),‘MB‘) as index_length_MB
from tables
where table_schema=‘passport‘ and table_name=‘tb_user_info‘;
-- 569.98MB 141.98MB
select concat(round(sum(data_length/1024/1024),2),‘MB‘) as data_length_MB, concat(round(sum(index_length/1024/1024),2),‘MB‘) as index_length_MB
from tables
where table_schema=‘passport_v2‘ and table_name=‘tb_user_info‘;
-- 2128.94MB 285.00MB