zoukankan      html  css  js  c++  java
  • 随笔编号-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;
  • 相关阅读:
    node03- FS内置模块
    node03- CommonJS
    删除当前目录下的所有文件夹和文件
    解决 idea 项目中Error:java: 无效的标记
    Raid0,Raid1,Raid5,Raid10 总结
    Tcpdump命令
    ClassNotFoundException 和 NoClassDefFoundError 区别
    Dart-List里面常用的属性和方法
    CSS实现等分布局的4种方式
    iOS项目添加CocoaPods
  • 原文地址:https://www.cnblogs.com/yazoon/p/6524209.html
Copyright © 2011-2022 走看看