随笔编号-16 MySQL查看表及索引大小方法

Posted 知行合一

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了随笔编号-16 MySQL查看表及索引大小方法相关的知识,希望对你有一定的参考价值。

目标:阿里云OS数据库DMS,单个主库最大存储空间为2T.最近公司业务扩展很快,一天数据量达到7.9G左右。要求备份清理历史数据,备份到其他磁盘。

准备:

如果想知道mysql数据库中每个表占用的空间、表记录的行数的话,可以打开MySQL的 information_schema 数据库。在该库中有一个 TABLES 表,这个表主要字段分别是:

TABLE_SCHEMA : 数据库名
TABLE_NAME:表名
ENGINE:所使用的存储引擎
TABLES_ROWS:记录数
DATA_LENGTH:数据大小
INDEX_LENGTH:索引大小

其他字段请参考MySQL的手册,我们只需要了解这几个就足够了。

1  首先查看某一实例下的所有占用磁盘空间(表数据+索引数据,得到的结果为B,这里做了数据处理转成M):

select concat(round((sum(DATA_LENGTH)+sum(INDEX_LENGTH))/1024/1024,2),M) from information_schema.tables where table_schema=‘实例名称;

 上面是查询所有的表计的累计量,下面是是查询单个表计的的SQL(按照实例名查询):

select table_name,
DATA_LENGTH/1024/1024 as tablesData,
INDEX_LENGTH/1024/1024 as indexData 
from information_schema.tables
where table_schema=dsm
ORDER BY  tablesData desc;

 






以上是关于随笔编号-16 MySQL查看表及索引大小方法的主要内容,如果未能解决你的问题,请参考以下文章

查看mysql库大小,表大小,索引大小

图解PostgreSQL12可拔插存储引擎--表及索引访问方法架构

[转]mysql监控查看mysql库大小,表大小,索引大小

MySQL索引设计

常用mysql系统表及命令

随笔=day=16.12.1