2数据库表空间容量查询_查看数据库各表使用情况的一个小工具

本文介绍了一段SQL查询代码,用于查看数据库中各表的数据容量及索引占用空间大小,并将其单位转换为MB显示。通过该查询,可以清晰了解每个表的记录数、数据及索引所占空间,便于数据库维护和优化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0d225826ebd6abf42168acf9fed4525c.gif 点击关注 不迷路

c05e10c7c49b817e9cc44fe3d6ba93ed.png

下面的这段代码可以看到数据库表的数据容量以及索引所占的空间大小,data_length和index_length表示数据长度和索引长度,单位为byte,除以两次1024(计算机领域表示长度或容量的进制为1024,1P=1024T=1024²G=1024³M=(1024*1024)²Byte),单位转换成MB。数据库名作为条件,可以同时查询多个库,查询结果从大到小排序。

注意:执行该sql要在shema下,不要选择任何数据库。

ecf7bc6f990ad319db4870219b307644.png

fdd1aa60843ba3e08f90ae29f9b3bd39.png

SELECT    table_schema AS '数据库',    table_name AS '表名',    table_rows AS '记录数',    TRUNCATE (data_length / 1024 / 1024, 2) AS '数据容量(MB)',    TRUNCATE (index_length / 1024 / 1024, 2) AS '索引容量(MB)'FROM    information_schema.tables where table_schema = 'tablename'ORDER BY    data_length DESC,    index_length DESC;     #工具变种(查总记录数以及总容量) SELECT    table_schema AS '数据库',    table_name AS '表名',    table_rows AS '记录数',    TRUNCATE (data_length / 1024 / 1024, 2) AS '数据容量(MB)',    TRUNCATE (index_length / 1024 / 1024, 2) AS '索引容量(MB)'FROM    information_schema.tables where table_schema = 'tablename'ORDER BY    data_length DESC,    index_length DESC;
24d49f74b039391b40f00c4afd3bcb5d.png

执行结果

从结果可以明确的看出每个表对应的记录数,所占的空间大小以及所以所占空间大小。

排在最后的一些表没有任何记录,可以从业务的角度分析原因,根据需要清理冗余的表好使数据库瘦身。

e9e7bb1cc7ac32ad9222b5c789eef1d6.png

59249d793d93a28e636dd6e1b83134cc.png

▼更多精彩推荐,请关注公众号▼ 80d3c027aae94f08abe8cc42a3751d08.png 把时间交给分享 9f1049949c15a81232a570bd004f2152.png 9edde4e82b0bc8469dc584239666a6bb.gif
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值