來源https://www.cnblogs.com/--smile/p/11451238.html
[查看mysql數據庫容量大小]( https://www.cnblogs.com/jerry-0910/p/15919970.html)
第一種情況:查詢所有數據庫的總大小,方法如下:
mysql> use information_schema;
mysql> select concat(round(sum(DATA_LENGTH/1024/1024),2),'MB') as data from TABLES;
select * from (select table_schema,TABLE_NAME, concat(truncate(data_length/1024/1024,2),' MB') as data_size,table_rows
from information_schema.tables ORDER BY table_rows) t ;
統計一下所有庫數據量
每張表數據量=AVG_ROW_LENGTH*TABLE_ROWS+INDEX_LENGTH
SELECT
SUM(AVG_ROW_LENGTH*TABLE_ROWS+INDEX_LENGTH)/1024/1024 AS total_mb
FROM information_schema.TABLES
統計每個庫大小:
SELECT
table_schema,SUM(AVG_ROW_LENGTH*TABLE_ROWS+INDEX_LENGTH)/1024/1024 AS total_mb
FROM information_schema.TABLES group by table_schema;
第二種情況:查看指定數據庫的大小,比如說:數據庫test,方法如下:
mysql> use information_schema;
mysql> select concat(round(sum(DATA_LENGTH/1024/1024),2),'MB') as data from TABLES where table_schema='test';
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;