SELECT TABLE_NAME,DATA_LENGTH,INDEX_LENGTH,(DATA_LENGTH+INDEX_LENGTH) as length,TABLE_ROWS,concat(round((DATA_LENGTH+INDEX_LENGTH)/1024/1024,3), 'MB') as total_size FROM information_schema.TABLES WHERE TABLE_SCHEMA='database_name' order by length desc

结果:

+------------------------------+-------------+--------------+------------+------------+------------+
| TABLE_NAME | DATA_LENGTH | INDEX_LENGTH | length | TABLE_ROWS | total_size |
+------------------------------+-------------+--------------+------------+------------+------------+
| log                     | 959226404    | 932541440 | 1891767844 | 19966020 | 1804.130MB |
| articles               | 1528283112 |     6710272 | 1534993384 |      459585 | 1463.884MB |
| category_aticles| 24895262     |   85363712 |   110258974 |    1778233 |   105.151MB |
|user                    | 43867824     |       489472 |     44357296 |        47476 |    42.302MB |


说明:

TABLE_NAME :表名字;
DATA_LENGTH : 数据大小;
INDEX_LENGTH :索引大小;
TABLE_ROWS : 记录数量;
TABLE_SCHEMA : 数据库名字;
ENGINE:所使用的存储引擎;
information_schema :
是mysql自带的,它提供了访问数据库元数据的方式,元数据是关于数据的数据,
如数据库名或表名,列的数据类型,或访问权限等。有些时候用于表述该信息的其他术语包括“数据词典”和“系统目录”。


一个表占用空间的大小,相当于是 数据大小 + 索引大小;

点赞(1457)

评论列表共有 0 条评论

立即
投稿
返回
顶部