mysql查看数据库大小(mysql 查看指定数据库个表占用的空间大小)

mysql查看数据库大小(mysql 查看指定数据库个表占用的空间大小)

mysql查看数据库大小本栏目整理了mysql查看数据库大小,帮助您初步了解mysql查看数据库大小相关信息,希望我的回答对你有所帮助。



据库每个表的空间占用大小(包括数据和索引),并按从大到小排序,可以通过查询information_schema.TABLES系统表实现。

DATA_LENGTH:数据占用空间

INDEX_LENGTH:索引占用空间

两者之和即为表的总占用空间。

具体 SQL 语句:

-- 替换 `your_database_name` 为实际数据库名SELECT TABLE_NAME AS 表名, -- 数据占用空间(转换为MB,1MB=1024*1024字节) ROUND(DATA_LENGTH / 1024 / 1024, 2) AS 数据大小_MB, -- 索引占用空间(转换为MB) ROUND(INDEX_LENGTH / 1024 / 1024, 2) AS 索引大小_MB, -- 总占用空间(数据+索引,转换为MB) ROUND((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024, 2) AS 总大小_MBFROM information_schema.TABLES WHERE TABLE_SCHEMA = 'your_database_name' -- 指定数据库ORDER BY (DATA_LENGTH + INDEX_LENGTH) DESC; -- 按总大小从大到小排序关键说明:字段含义:DATA_LENGTH:表数据本身占用的磁盘空间(单位:字节)。INDEX_LENGTH:表索引占用的磁盘空间(单位:字节)。总空间 = DATA_LENGTH + INDEX_LENGTH(即数据 + 索引的总占用)。单位转换:上述语句将字节转换为MB(除以1024*1024),并通过ROUND(..., 2)保留 2 位小数,更易读。若表空间很大(如超过 1000MB),可转换为GB(再除以 1024),例如:ROUND((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024 / 1024, 2) AS 总大小_GB。适用场景:快速排查 “大表”,辅助数据库空间优化(如清理冗余数据、优化索引等)。结果无需扫描表数据,执行速度快。示例输出:

数据大小_MB

索引大小_MB

总大小_MB

order_info

256.32

89.15

345.47

user_data

120.50

mysql查看数据库大小(mysql 查看指定数据库个表占用的空间大小)

30.20

150.70

product

50.10

10.05

60.15

mysql查看数据库大小和mysql查看数据库空间大小, 查看mysql数据库表大小的问题分享结束啦,以上的文章解决了您的问题吗?欢迎您下次再来哦!

文章版权声明:除非注明,否则均为边学边练网络文章,版权归原作者所有