MYSQL查询表占数据库大小

木思丁 2026-8-19 5 8/19
SELECT
    TABLE_NAME AS `表名`,
    TABLE_ROWS AS `表数据行数`,
    CONCAT(ROUND((DATA_LENGTH + INDEX_LENGTH + DATA_FREE) / 1024 / 1024,2),' MB') AS `保留大小`,
    CONCAT(ROUND(DATA_LENGTH / 1024 / 1024,2),' MB') AS `数据大小`,
    CONCAT(ROUND(INDEX_LENGTH / 1024 / 1024,2),' MB') AS `索引大小`,
    CONCAT(ROUND(DATA_FREE / 1024 / 1024,2),' MB') AS `未使用大小`
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = DATABASE()   -- 当前打开的数据库
AND TABLE_TYPE = 'BASE TABLE'
ORDER BY TABLE_NAME ASC , DATA_LENGTH DESC;

 

- THE END -
Tag:
0

非特殊说明,本博所有文章均为博主原创。

共有 0 条评论

您必须 后可评论