如何查看MySQL中每张表占用的空间大小

  如题,找到MySQL中的information_schema表,这张表记录了所有数据库中表的信息,主要字段含义如下:

TABLE_SCHEMA : 数据库名
TABLE_NAME:表名
ENGINE:所使用的存储引擎
TABLES_ROWS:记录数
DATA_LENGTH:数据大小
INDEX_LENGTH:索引大小

如果需要查询所有数据库占用空间大小只需要执行SQL命令:

mysql> use information_schema
Database changed
mysql> SELECT sum(DATA_LENGTH+INDEX_LENGTH) FROM TABLES;
+-------------------------------+
| sum(DATA_LENGTH+INDEX_LENGTH) |
+-------------------------------+
|                        683993 |
+-------------------------------+
1 row in set (0.00 sec)
大小是字节数 如果想修改为KB可以执行:

SELECT sum(DATA_LENGTH+INDEX_LENGTH)/1024 FROM TABLES;

如果修改为MB应该也没问题了吧

如果需要查询一个数据库所有表的大小可以执行:

SELECT sum(DATA_LENGTH+INDEX_LENGTH) FROM TABLES WHERE TABLE_SCHEMA='数据库名'

想查询某张表呢?相信你早就想到了。

原文地址:https://www.cnblogs.com/jiaosq/p/5822519.html