mysql查询数据库和表所占空间大小

查询数据库所占空间大小

1
SELECT sum(DATA_LENGTH)+sum(INDEX_LENGTH) FROM information_schema.TABLES WHERE D

得到的结果是单位是字节Byte

查询数据库中所有表所占空间的大小

在数据库的中的information_schema数据库中有一个 TABLES 表,这个表主要字段分别是:

字段名 含义
TABLE_SCHEMA 数据库名
TABLE_NAME 表名
ENGINE 所使用的存储引擎
TABLES_ROWS 记录数
DATA_LENGTH 数据大小
INDEX_LENGTH 索引大小
  • 查询所有表数据和索引的的大小
1
SELECT TABLE_NAME,DATA_LENGTH+INDEX_LENGTH,TABLE_ROWS FROM information_schema.TABLES WHERE TABLE_SCHEMA="数据库名";
  • 查询某个表的数据大小和索引大小
1
SELECT TABLE_NAME,DATA_LENGTH+INDEX_LENGTH,TABLE_ROWS FROM information_schema.TABLES WHERE TABLE_SCHEMA="数据库名" AND TABLE_NAME="表名";