查看MySQL数据表占用空间大小
Eave
2025.06.24
方法一:使用information_schema数据库
在MySQL中,你可以通过查询information_schema数据库中的TABLES表来获取特定数据表的大小。information_schema数据库包含了关于所有其他数据库的元数据信息,包括数据库、表、列等。
要查看一个数据表的大小,你可以使用以下SQL查询:
SELECT
table_name AS `Table`,
ROUND(((data_length + index_length) / 1024 / 1024), 2) AS `Size in MB`
FROM
information_schema.TABLES
WHERE
table_schema = '数据库名'
AND table_name = '表名';
方法二:使用SHOW TABLE STATUS命令
选择要查询的数据库,使用SHOW TABLE STATUS命令查看数据库中所有表的状态信息。在结果中查找Data_length和Index_length字段,这两个字段分别表示表的数据大小和索引大小。通过计算Data_length和Index_length的和,可以得到每个表的总大小。对结果进行排序,以便查看哪个表最大。
SHOW TABLE STATUS
附
1、查看数据库所有表的大小
SELECT
table_name AS `Table`,
ROUND(((data_length + index_length) / 1024 / 1024), 2) AS `Size in MB`
FROM
information_schema.TABLES
WHERE
table_schema = 'gramess'
GROUP BY table_name;
2、查看数据库的大小
SELECT
table_schema AS `Database`,
ROUND(((SUM(data_length + index_length)) / 1024 / 1024 / 1024), 4) AS `Size in GB`
FROM
information_schema.TABLES
GROUP BY table_schema;
3、查看实例的大小
SELECT
ROUND(((SUM(data_length + index_length)) / 1024 / 1024 / 1024), 4) AS `Size in GB`
FROM
information_schema.TABLES;