mysql查看数据库各表占用空间大小
刚子 发布于 阅读:24
在 MySQL 中,可通过查询 information_schema.tables 系统表获取每个表的占用大小(包括数据大小、索引大小、总大小等)。该表存储了所有数据库表的元数据信息,以下是具体方法:
SELECT
TABLE_NAME AS '表名',
ROUND(DATA_LENGTH / 1024 / 1024, 2) AS '数据大小(MB)', -- 数据文件大小
ROUND(INDEX_LENGTH / 1024 / 1024, 2) AS '索引大小(MB)', -- 索引文件大小
ROUND((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024, 2) AS '总大小(MB)', -- 总占用大小
ROUND(DATA_FREE / 1024 / 1024, 2) AS '空闲空间(MB)' -- 未使用的空间(删除记录后可能残留)
FROM
information_schema.TABLES
WHERE
TABLE_SCHEMA = 'your_database_name' -- 替换为你的数据库名
ORDER BY
(DATA_LENGTH + INDEX_LENGTH) DESC; -- 按总大小降序排列