如何在 MySQL 数据库管理中,查询数据库、表、索引的容量大小?我们可以在 MySQL 自带information_schema 库中的 Table 表里,找到所需信息。
在每个 MySQL 实例中,都有一个独立的 information_schema 库,它是自带的默认库,记录着这个 MySQL 实例中所有数据库的元数据、统计信息、以及有关 MySQL 的访问权限信息。这其中就包括了所有数据库、表、索引的详细信息。
本文所用到的information_schema 库中 Table 表里的字段:
- TABLE_SCHEMA : 数据库名
- TABLE_NAME:表名
- ENGINE:所使用的存储引擎
- TABLES_ROWS:记录数
- DATA_LENGTH:数据容量大小
- INDEX_LENGTH:索引容量大小
1 查看 MySQL「所有库」的容量大小
SELECTtable_schema as '数据库',sum(table_rows) as '记录数',sum(truncate(data_length/1024/1024, 2)) as '数据容量(MB)',sum(truncate(index_length/1024/1024, 2)) as '索引容量(MB)',sum(truncate(DATA_FREE/1024/1024, 2)) as '碎片占用(MB)'from information_schema.tablesgroup by table_schemaorder by sum(data_length) desc, sum(index_length) desc;
原文
https://kalacloud.com/blog/how-to-get-the-sizes-of-the-tables-of-a-mysql-database/
