当前位置: 首页 > news >正文

在MySQL中查看数据库和表的数据大小

在MySQL中查看数据库和表的数据大小

在这里插入图片描述

在管理和维护MySQL数据库时,了解数据库和表的数据大小是非常重要的。这可以帮助您监控数据库的增长、优化性能以及规划存储需求。本博客将介绍如何使用SQL查询来查看MySQL数据库和表的数据大小。

查看MySQL数据库的总数据大小

首先,我们将学习如何查看整个MySQL数据库的总数据大小,包括所有数据库。以下是SQL查询示例:

-- 显示所有数据库的总计
SELECT'总和' AS `数据库`,'' AS `表名`,CONCAT(ROUND(SUM(table_rows) / 1000000, 2), 'M') AS `行数`,CONCAT(ROUND(SUM(data_length) / (1024 * 1024 * 1024), 2), 'GB') AS `数据大小`,CONCAT(ROUND(SUM(index_length) / (1024 * 1024 * 1024), 2), 'GB') AS `索引大小`,CONCAT(ROUND((SUM(data_length) + SUM(index_length)) / (1024 * 1024 * 1024), 2), 'GB') AS `总大小`
FROMinformation_schema.TABLES
WHEREtable_schema NOT IN ('information_schema', 'performance_schema', 'mysql', 'sys');

这个查询计算了MySQL服务器上所有数据库的总数据大小,包括数据和索引。总计会显示在第一行,总和列下。这将帮助您了解整个MySQL服务器上的数据占用情况。

查看单个MySQL数据库的数据大小

如果您想查看特定数据库的数据大小,可以使用以下SQL查询,并将 your_database_name 替换为您要查看的数据库名称:

-- 显示单个数据库的数据大小
SELECTtable_schema AS `数据库`,table_name AS `表名`,CONCAT(ROUND(table_rows / 1000000, 2), 'M') AS `行数`,CONCAT(ROUND(data_length / (1024 * 1024 * 1024), 2), 'GB') AS `数据大小`,CONCAT(ROUND(index_length / (1024 * 1024 * 1024), 2), 'GB') AS `索引大小`,CONCAT(ROUND((data_length + index_length) / (1024 * 1024 * 1024), 2), 'GB') AS `总大小`
FROMinformation_schema.TABLES
WHERE table_schema NOT IN ('information_schema', 'performance_schema', 'mysql', 'sys') AND table_schema = 'your_database_name'
ORDER BYdata_length + index_length DESC;

这个查询将显示特定数据库中每个表的数据大小,包括数据和索引。只需将 your_database_name 替换为您要查看的数据库名称。

查看所有数据库数据大小

-- 显示所有数据库的总计
SELECT'总和' AS `数据库`,'' AS `表名`,CONCAT(ROUND(SUM(table_rows) / 1000000, 2), 'M') AS `行数`,CONCAT(ROUND(SUM(data_length) / (1024 * 1024 * 1024), 2), 'GB') AS `数据大小`,CONCAT(ROUND(SUM(index_length) / (1024 * 1024 * 1024), 2), 'GB') AS `索引大小`,CONCAT(ROUND((SUM(data_length) + SUM(index_length)) / (1024 * 1024 * 1024), 2), 'GB') AS `总大小`
FROMinformation_schema.TABLES
WHEREtable_schema NOT IN ('information_schema', 'performance_schema', 'mysql', 'sys')
UNION
-- 显示每个表的数据大小
SELECTtable_schema AS `数据库`,table_name AS `表名`,CONCAT(ROUND(table_rows / 1000000, 2), 'M') AS `行数`,CONCAT(ROUND(data_length / (1024 * 1024 * 1024), 2), 'GB') AS `表数据大小`,CONCAT(ROUND(index_length / (1024 * 1024 * 1024), 2), 'GB') AS `索引大小`,CONCAT(ROUND((data_length + index_length) / (1024 * 1024 * 1024), 2), 'GB') AS `表总大小`
FROMinformation_schema.TABLES
WHEREtable_schema NOT IN ('information_schema', 'performance_schema', 'mysql', 'sys')
ORDER BY`总大小` DESC; -- 修改ORDER BY子句

总结

通过使用上述SQL查询,您可以轻松查看MySQL数据库和表的数据大小。这些信息对于数据库管理、性能优化和存储规划非常有帮助。根据您的需求,您可以定期运行这些查询来监控数据库的增长并采取适当的措施。希望这个博客对您有所帮助!

http://www.lryc.cn/news/161685.html

相关文章:

  • Android前端音视频数据接入GB28181平台意义
  • Ubuntu 20.04上docker安装Redis
  • linux 压缩webfile文件夹 webfile.tar.gz和webfile.tar的区别
  • 基于SSM的农产品推广应用网站
  • 人大金仓分析型数据库身份鉴别
  • 基于SpringBoot的在线教育平台系统
  • 基于大规模测量和多任务深度学习的电子鼻系统目标识别、浓度预测和状态判断
  • Unity游戏客户端进阶路线(只针对本人)
  • 【C++】封装map和set(红黑树实现)
  • 【补】代码随想录算法训练营day38|动态规划 |509. 斐波那契数|70. 爬楼梯|746. 使用最小花费爬楼梯
  • C语言sizeof()计算空间大小为8的问题
  • 时序分解 | MATLAB实现基于LMD局部均值分解的信号分解分量可视化
  • 景区AR虚拟三维场景沉浸式体验成为新兴的营销手段
  • 【深度学习】 Python 和 NumPy 系列教程(五):Python容器:3、集合Set详解(初始化、访问元素、常用操作、常用函数)
  • 单片机C语言实例:6、定时器的应用
  • ChatGPT Prompting开发实战(五)
  • MySQL——DQL union合并、limit限制与DDL建表和删表
  • Java“牵手”唯品会商品列表数据,关键词搜索唯品会商品数据接口,唯品会API申请指南
  • Springboot整合JWT完成验证登录
  • centos7 下使用docker安装常见的软件:Redis
  • sql:SQL优化知识点记录(十五)
  • vue3+ts 分享海报
  • Ubuntu23.10将推出全磁盘加密功能,提高系统安全性
  • 防火墙的设置主要是为了防范什么
  • Vim9和其他软件的文本复制、粘贴
  • MySQL学习5:事务、存储引擎
  • redis如何保证接口的幂等性
  • 避坑之路 —— 前后端 json 的注意问题
  • [构建 Vue 组件库] 小尾巴 UI 组件库 —— 横向商品卡片(仿淘宝)
  • 【Python】Python实现五子棋游戏(带可视化界面)【独一无二】