mysql 查询表占用空间

本文档展示了如何使用SQL查询从MySQL数据库中获取table_name为mytable1在mydb数据库中的表所占用的空间,以MB为单位。

mysql 查询表占用空间

SELECT ROUND((( data_length + index_length ) / 1024 / 1024 ),
	2 
) AS "Size (M)" 
FROM
	information_schema.TABLES 
WHERE
	table_schema = 'mydb' 
	AND table_name = 'mytable1'

在这里插入图片描述

MySQL查询表的存储空间大小,可以使用 `information_schema` 数据库中的 `TABLES` 表。该表提供了有关数据库中所有表的数据长度、索引长度等信息。以下是几种常用的查询方式: ### 查询某个数据库中所有表的存储空间大小 以下查询将列出指定数据库中每个表的数据容量和索引容量: ```sql SELECT TABLE_NAME AS "表名", CONCAT(TRUNCATE(SUM(DATA_LENGTH) / 1024 / 1024, 2), ' MB') AS "数据容量", CONCAT(TRUNCATE(SUM(INDEX_LENGTH) / 1024 / 1024, 2), ' MB') AS "索引容量" FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'your_database_name' GROUP BY TABLE_NAME; ``` ### 查询单个表的存储空间大小 如果需要查询某个具体表的存储空间,可以在上述查询基础上添加 `TABLE_NAME` 条件: ```sql SELECT TABLE_NAME AS "表名", CONCAT(TRUNCATE(SUM(DATA_LENGTH) / 1024 / 1024, 2), ' MB') AS "数据容量", CONCAT(TRUNCATE(SUM(INDEX_LENGTH) / 1024 / 1024, 2), ' MB') AS "索引容量" FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'your_database_name' AND TABLE_NAME = 'your_table_name'; ``` ### 查询所有数据库中各表的存储空间大小 如果需要查看所有数据库中每个表的存储空间大小,可以去掉 `WHERE` 条件中的数据库名,并按 `TABLE_SCHEMA` 和 `TABLE_NAME` 分组: ```sql SELECT TABLE_SCHEMA AS "数据库名", TABLE_NAME AS "表名", CONCAT(TRUNCATE(SUM(DATA_LENGTH) / 1024 / 1024, 2), ' MB') AS "数据容量", CONCAT(TRUNCATE(SUM(INDEX_LENGTH) / 1024 / 1024, 2), ' MB') AS "索引容量" FROM information_schema.TABLES GROUP BY TABLE_SCHEMA, TABLE_NAME; ``` ### 查询数据库总存储空间大小 如果需要查看某个数据库的总存储空间(包括所有表的数据和索引),可以使用以下查询: ```sql SELECT TABLE_SCHEMA AS "数据库名", CONCAT(TRUNCATE(SUM(DATA_LENGTH) / 1024 / 1024, 2), ' MB') AS "数据总容量", CONCAT(TRUNCATE(SUM(INDEX_LENGTH) / 1024 / 1024, 2), ' MB') AS "索引总容量" FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'your_database_name' GROUP BY TABLE_SCHEMA; ``` ### 查询所有数据库的总存储空间大小 如果需要查看所有数据库的总存储空间,可以去掉 `WHERE` 条件并按 `TABLE_SCHEMA` 分组: ```sql SELECT TABLE_SCHEMA AS "数据库名", CONCAT(TRUNCATE(SUM(DATA_LENGTH) / 1024 / 1024, 2), ' MB') AS "数据总容量", CONCAT(TRUNCATE(SUM(INDEX_LENGTH) / 1024 / 1024, 2), ' MB') AS "索引总容量" FROM information_schema.TABLES GROUP BY TABLE_SCHEMA; ``` 通过这些查询,可以清晰地了解 MySQL 数据库中各个表的存储空间使用情况[^2]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乘茶蛙泳

just 4 fun

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值