Mysql 统计数据库数据大小
当我们需要知道数据库占用了多少磁盘大小,可以通过一些sql语句查询到整个数据库的容量,也可以单独查看表所占容量。
# 根据条件查询,打印出查询的表的数据大小(逐个表打印信息)
use information_schema
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 TABLES where TABLE_NAME like '%20210131%' order by data_length desc;
# 根据条件查询,打印出查询的表的数据大小(累加全部)
select TABLE_NAME, 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 TABLES where TABLE_NAME like '%20210131%' ;
#如果没有 where 就是查询全部
说明:
TABLE_SCHEMA : 数据库名
TABLE_NAME:表名
DATA_LENGTH:数据大小
INDEX_LENGTH:索引大小
ORDER BY:根据查询出来的大小进行排序