在日常数据库管理中,了解每张表和每个数据库占用了多少磁盘空间是非常关键的。这不仅有助于我们监控数据增长,还能为性能优化提供依据。
Google Gemini中国版调用Google Gemini API,中国大陆优化,完全免费!https://gemini.danielmind.tech/
查询所有数据库的磁盘使用情况
如果你想快速了解整个 MySQL 实例中每个数据库的大小,可以使用以下方法来获取各个 schema 占用的磁盘空间总量。
操作步骤:
-
打开查询窗口:在 MySQL Workbench 中点击“+”或“新建查询标签页”。
-
输入 SQL 语句:
SELECT table_schema AS `Database`,
ROUND(SUM((data_length + index_length) / 1024 / 1024), 2) AS `Total Size (MB)`
FROM information_schema.TABLES
GROUP BY table_schema
ORDER BY SUM(data_length + index_length) DESC;
-
执行查询:点击“执行”按钮。
-
查看结果:你将看到一个汇总列表,显示每个数据库的总磁盘空间使用情况,单位为 MB,并按大小从大到小排序。
这个结果可以帮助你判断哪些数据库占用了较多资源,是否存在异常增长的数据库。
查看某个数据库中各表的大小(Redirecting...)
执行方法:
-
打开 MySQL Workbench 并连接服务器。
-
选择你感兴趣的 schema。
-
在查询编辑器中粘贴以下 SQL:
SELECT table_name AS `Table`,
ROUND(((data_length + index_length) / 1024 / 1024), 2) AS `Size (MB)`
FROM information_schema.TABLES
WHERE table_schema = "your_database_name"
ORDER BY (data_length + index_length) DESC;
⚠️ 将 "your_database_name"
替换为实际想查看的数据库名称。
-
点击执行。
-
查看输出结果:你将看到该数据库中所有表的大小列表,按磁盘使用量从大到小排序。
为什么这些信息很重要?
这些数据虽然是估算值,但在绝大多数场景下已经足够准确。它们可以帮助你识别:
-
哪些表或数据库占用了大量磁盘空间;
-
数据是否有不合理的增长;
-
哪些地方需要进行清理、归档或优化。