mysql查看数据库表容量大小

【推荐】单表行数超过 500 万行或者单表容量超过 2GB,才推荐进行分库分表。
说明:如果预计三年后的数据量根本达不到这个级别,请不要在创建表时就分库分表。

1. 查询所有数据库记录数和容量

复制代码
SELECT
	table_schema AS '数据库',
	SUM(table_rows) AS '记录数',
	SUM(TRUNCATE(data_length/1024/1024, 2)) AS '数据容量(MB)',
	SUM(TRUNCATE(index_length/1024/1024, 2)) AS '索引容量(MB)'
FROM information_schema.tables
GROUP BY table_schema
ORDER BY SUM(data_length) DESC, SUM(index_length) DESC;

2. 查询指定数据库记录数和容量

复制代码
SELECT
	table_schema AS '数据库',
	SUM( table_rows ) AS '记录数',
	SUM(TRUNCATE ( data_length / 1024 / 1024, 2 )) AS '数据容量(MB)',
	SUM(TRUNCATE ( index_length / 1024 / 1024, 2 )) AS '索引容量(MB)' 
FROM information_schema.TABLES 
WHERE table_schema = 'syspt';

3、查询所有数据库每个表的记录数和容量

复制代码
SELECT
	table_schema AS '数据库',
	table_name AS '表名',
	table_rows AS '记录数',
	TRUNCATE(data_length/1024/1024, 2) AS '数据容量(MB)',
	TRUNCATE(index_length/1024/1024, 2) AS '索引容量(MB)'
FROM information_schema.tables
ORDER BY data_length DESC, index_length DESC;

4. 查询指定数据库每个表的记录数和容量

复制代码
SELECT
	table_schema AS '数据库',
	table_name AS '表名',
	table_rows AS '记录数',
	TRUNCATE(data_length/1024/1024, 2) AS '数据容量(MB)',
	TRUNCATE(index_length/1024/1024, 2) AS '索引容量(MB)'
FROM information_schema.tables
WHERE table_schema='syspt'
ORDER BY data_length DESC, index_length DESC;

5. 统计所有数据库的总大小

复制代码
SELECT CONCAT(ROUND(SUM(DATA_LENGTH/1024/1024),2),'MB') AS DATA FROM information_schema.TABLES;
相关推荐
段一凡-华北理工大学29 分钟前
向量数据库实战:选型、调优与落地~系列文章03:向量相似度算法全解:余弦、欧氏、内积,到底该用哪个?
大数据·数据库·人工智能·算法·机器学习·向量相似度·高炉炼铁
ClouGence2 小时前
CloudDM 数据库管理平台,全新 UI,更清晰、更高效!
数据库·开源
Mico182 小时前
MySQL 8.0.35 GTID 主从复制搭建-基于GITD
android·mysql·adb
花生了什么事o3 小时前
DDD:领域驱动设计的初步认识
java·数据库
BGK1123584 小时前
基于qemu_v8+optee 4.00 平台构建 ca/ta
java·大数据·数据库
Ethan01074 小时前
Mybatis数据源切换
mysql
何中应4 小时前
Spring Boot整合Doris
java·数据库·spring boot
J-Tony114 小时前
【Redis】数据结构&&持久化
数据结构·数据库·redis
KaMeidebaby5 小时前
卡梅德生物技术快报|原核膜蛋白表达优化实操手册,膜蛋白的纯化梯度洗脱完整流程
前端·网络·数据库·人工智能·算法
Summer-Bright5 小时前
深度 | Agent 协议标准化:一场决定了 AI 经济底层规则的基础设施战争
java·数据库·人工智能·ai