You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查询MySQL所有数据库的总大小(以GB为单位)?

获取所有MySQL数据库的总大小(GB单位)

嘿,你的问题很常见呀!你现在的SQL已经能完美列出每个数据库的单独大小了,要拿到所有库的总大小其实很简单,给你两种实用的方法:

方法一:直接计算所有表的总大小

这个方式最直接,跳过按数据库分组的步骤,直接把所有表的数据+索引大小加总:

SELECT SUM(ROUND(((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024 / 1024 ), 2)) AS "Total Size (GB)" 
FROM information_schema.TABLES;

方法二:基于你现有查询的二次汇总

如果你想先保留每个库的大小明细,再得到总数,可以在外层套一个查询来汇总:

SELECT SUM(`Size (GB)`) AS "Total Size (GB)"
FROM (
    -- 这部分就是你原来的查询,用来获取单个库的大小
    SELECT SUM(ROUND(((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024 / 1024 ), 2)) AS "Size (GB)" 
    FROM information_schema.TABLES 
    GROUP BY table_schema
) AS db_size_details;

额外小技巧

默认查询会包含MySQL的系统库(比如mysql、information_schema这些),如果只想统计你自己创建的业务数据库,可以加个WHERE条件排除它们:

SELECT SUM(ROUND(((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024 / 1024 ), 2)) AS "Total Size (GB)" 
FROM information_schema.TABLES
WHERE table_schema NOT IN ('mysql', 'information_schema', 'performance_schema', 'sys');

内容的提问来源于stack exchange,提问作者Dr Jay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:07:16