博客
关于我
Mysql 学习总结(89)—— Mysql 库表容量统计
阅读量:794 次
发布时间:2023-02-10

本文共 802 字,大约阅读时间需要 2 分钟。

前言

统计每个库每个表的大小是数据治理中的基本要求。本文将从抽样统计结果及精确统计结果两方面,统计MySQL的每个库每个表的数据量情况。通过信息_schema库中的数据字典功能,可以获取各类表的数据大小、索引大小及表碎片大小等信息。如果需要了解各库及表的大致数据量级,可以直接通过信息_schema.tables进行统计。


一、统计所有数据库的大小

要统计所有数据库的大小,可以使用以下命令:

mysql> use information_schema;Database changedmysql> select concat(round(sum(DATA_LENGTH / 1024 / 1024), 2), 'MB') as data from TABLES;

运行上述命令后,会得到以下结果:

+-----------+  | data      |  +-----------+  | 1101.44MB |  +-----------+  1 row in set (0.09 sec)

这表明当前数据库的总数据量约为1101.44MB。


二、统计所有表的大小

为了统计所有表的大小,可以使用以下命令:

mysql> SELECT SUM(AVG_ROW_LENGTH * TABLE_ROWS + INDEX_LENGTH) / 1024 / 1024 AS total_mb FROM information_schema.TABLES;

运行上述命令后,会得到以下结果:

+---------------+  | total_mb       |  +---------------+  null  +---------------+

通过该命令可以获取所有表的总数据量(以MB为单位)。需要注意的是,innodb引擎表的预估数据量可能不准确,而MyISAM引擎表的预估数据量则较为准确。

转载地址:http://qkbfk.baihongyu.com/

你可能感兴趣的文章
MySQL 证明为什么用limit时,offset很大会影响性能
查看>>
Mysql 语句操作索引SQL语句
查看>>
MySQL 误操作后数据恢复(update,delete忘加where条件)
查看>>
MySQL 调优/优化的 101 个建议!
查看>>
mysql 转义字符用法_MySql 转义字符的使用说明
查看>>
mysql 输入密码秒退
查看>>
mysql 递归查找父节点_MySQL递归查询树状表的子节点、父节点具体实现
查看>>
mysql 里对root及普通用户赋权及更改密码的一些命令
查看>>
Mysql 重置自增列的开始序号
查看>>
MySQL 错误
查看>>
MySQL 面试,必须掌握的 8 大核心点
查看>>
MySQL 高可用性之keepalived+mysql双主
查看>>
MySql-2019-4-21-复习
查看>>
mysql-connector-java各种版本下载地址
查看>>
mysql-group_concat
查看>>
MySQL-redo日志
查看>>
MySQL-【1】配置
查看>>
MySQL-【4】基本操作
查看>>
Mysql-丢失更新
查看>>
Mysql-事务阻塞
查看>>