查看mysql库中所有表的大小和记录数
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自带的,它提供了访问数据库元数据的方式,元数据是关于数据的数据,
如数据库名或表名,列的数据类型,或访问权限等。有些时候用于表述该信息的其他术语包括“数据词典”和“系统目录”。
一个表占用空间的大小,相当于是 数据大小 + 索引大小;