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

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