Mysql统计空间增量

1、统计【所有库】每月新增空间总量

复制代码
SELECT
    DATE_FORMAT(create_time, '%Y-%m') AS 月份,
    ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS 新增总空间_MB,
    ROUND(SUM(data_length + index_length) / 1024 / 1024 / 1024, 2) AS 新增总空间_GB
FROM
    information_schema.tables
WHERE
    table_schema NOT IN ('information_schema', 'mysql', 'performance_schema', 'sys') -- 排除系统库
    AND create_time IS NOT NULL -- 只统计有创建时间的表
GROUP BY
    DATE_FORMAT(create_time, '%Y-%m')
ORDER BY
    月份 DESC;

2、统计【指定库】每月新增空间

把 your_database 换成你的数据库名即可:

复制代码
SELECT
    DATE_FORMAT(create_time, '%Y-%m') AS 月份,
    ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS 新增空间_MB,
    ROUND(SUM(data_length + index_length) / 1024 / 1024 / 1024, 2) AS 新增空间_GB
FROM
    information_schema.tables
WHERE
    table_schema = 'your_database' -- 替换成你的库名
    AND create_time IS NOT NULL
GROUP BY
    DATE_FORMAT(create_time, '%Y-%m')
ORDER BY
    月份 DESC;

3、更精准:按【修改时间】统计每月增量(推荐)

create_time 是表创建时间,实际业务中更应该用 update_time(表最后修改时间) 代表每月数据增长:

复制代码
SELECT
    DATE_FORMAT(update_time, '%Y-%m') AS 月份,
    ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS 当月总占用_MB,
    ROUND(SUM(data_length + index_length) / 1024 / 1024 / 1024, 2) AS 当月总占用_GB
FROM
    information_schema.tables
WHERE
    table_schema NOT IN ('information_schema', 'mysql', 'performance_schema', 'sys')
    AND update_time IS NOT NULL
GROUP BY
    DATE_FORMAT(update_time, '%Y-%m')
ORDER BY
    月份 DESC;

4、字段含义

  • data_length:数据文件大小
  • index_length:索引文件大小
  • data_length + index_length = 表总空间
  • create_time:表创建时间
  • update_time:表最后数据更新时间
相关推荐
这个DBA有点耶3 小时前
DELETE没删多少数据,表却越来越大——InnoDB删除空洞与页合并失效的根因
数据库·mysql·代码规范
ly76896 小时前
PostgreSQL 备份恢复策略:pg_basebackup、WAL 归档与 PITR 在企业 Java 系统中的落地
java·数据库·postgresql·pitr·pg_basebackup·wal 归档
小羊没烦恼!7 小时前
Ajax与JSON的一些总结
android·java·前端·数据库·mysql·算法·okhttp
注塑机数据采集联网7 小时前
如何解决注塑机数据采集联网对接MES系统数据WiFi传输数据不稳问题
大数据·数据库·物联网·数据挖掘·数据分析
黄俊懿7 小时前
【架构师从入门到进阶】第六章:服务集群优化——第八节:线程数公式
java·服务器·数据库·分布式·性能优化·架构·系统架构
geovindu7 小时前
sql: JSON and XML Data Handling in SQL using mysql 9.0
数据库·sql·mysql·数据库开发
hackchen8 小时前
LangChain 学习第 3 课 - 输出解析器(Output Parser)
数据库·学习·langchain
Mortalbreeze8 小时前
MySQL 基础篇(九):从 B+ 树到索引优化,全面理解 MySQL 索引
数据库·mysql
泡海椒8 小时前
JQuick-SQL SELECT 投影:字段、别名与表达式查询
数据库·sql
猫咪很可爱8 小时前
mysqldump 失败常见场景
数据库·sql·mysql