mysql查看表大小

工作中遇到了需要查询一个表的大小,使用命令如下

select concat(round(sum(DATA_LENGTH/1024/1024),2),'MB') as data from information_schema.TABLES 
where table_schema='数据库名' and table_name='表名';

sum(expression),expression可为字段或者公式

round(x,d),用于对数据进行四舍五入,x表示要操作的数,d表示要保留的位数

concat(s1,s2,s3,...),将多个字符串拼接成一个字符串

DATA_LENGTH是字节数,所以通过/1024去转换成MB、GB等

information_schema数据库,这个数据库中装的是mysql的元数据,包括数据库信息、数据库中表的信息等,后续有使用到information_schema再深入学习

这里保留个疑问,为什么要对DATA_LENGTH/1024/1024出来的结果进行sum处理,难道是同一个表有可能会查询出多条结果吗?如果在tables里面,一个表就只有一条记录,那么就不需要对结果进行sum了啊。还是说我的理解有问题,此处保留,日后寻找答案

发布了33 篇原创文章 · 获赞 2 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/sun_977759/article/details/89491924