本文概览:介绍了统计数据表大小或者数据库大小的sql。这些信息都是从information_schema.TABLES的表中获取。
1. information_schema.TABLES的主要字段
- TABLE_SCHEMA 数据名,有时需要统计每一个库的大小(如在分库情况下)
- TABLE_NAM 表名
- DATA_LENGTH 数据大小
- INDEX_LENGTH 索引长度
- TABLES_ROWS 记录数目
- ENGINE 存储引擎
2. 统计数据库
(1)命令
1 2 |
SELECT sum(DATA_LENGTH)+sum(INDEX_LENGTH) FROM information_schema.TABLES where TABLE_SCHEMA='数据库名'; |
(2)查询一个库大小举例
1 2 |
select sum(DATA_LENGTH)+sum(INDEX_LENGTH) FROM information_schema.TABLES where TABLE_SCHEMA='engine'; |
(3)查询所有库举例
把上面where条件删除,然后添加一个TABLE_SCHEMA字段(表示数据库名称)。
1 2 |
select TABLE_SCHEMA,sum(DATA_LENGTH)+sum(INDEX_LENGTH) FROM information_schema.TABLES ; |
3. 统计一个表的大小
(1)命令
1 2 3 |
SELECT TABLE_NAME,DATA_LENGTH+INDEX_LENGTH,TABLE_ROWS FROM information_schema.TABLES WHERE TABLE_SCHEMA='数据库名' AND TABLE_NAME='数据表名'; |
- DATA_LENGTH 数据大小
- INDEX_LENGTH 索引长度
- TABLES_ROWS 记录数目
(2)统计某一个表的举例
1 2 3 |
SELECT TABLE_NAME,DATA_LENGTH+INDEX_LENGTH,TABLE_ROWS FROM information_schema.TABLES WHERE TABLE_SCHEMA='database_name' AND TABLE_NAME='table_name'; |
执行结果为
(全文完)