mysql 占用空间_MySQL查看表占用空间大小

56d1386d0e6b27f5bd2879b15de06e81.png

前言

在mysql中有一个默认的数据表information_schema,information_schema这张数据表保存了MySQL服务器所有数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权限等。

再简单点,这台MySQL服务器上,到底有哪些数据库、各个数据库有哪些表,每张表的字段类型是什么,各个数据库要什么权限才能访问,等等信息都保存在information_schema表里面,所以请勿删改此表。

代码

1,切换数据库

use information_schema;

2,查看数据库使用大小

select concat(round(sum(data_length/1024/1024),2),’MB’) as data from tables wheretable_schema=’DB_Name’ ;

3,查看表使用大小

select concat(round(sum(data_length/1024/1024),2),’MB’) as data from tables wheretable_schema=’DB_Name’ andtable_name=’Table_Name’;

网上找的一个,亲测可用:

先进去MySQL自带管理库:information_schema

然后查询 data_length,index_length

你自己的数据库名:dbname

你自己的表名:tablename

mysql>use information_schema;

Database changed

mysql>select data_length,index_length

->from tables where

->table_schema='dbname'

->andtable_name='tablename';

+-------------+--------------+

| data_length | index_length |

+-------------+--------------+

|   166379520 |    235782144 |

+-------------+--------------+

row in set (0.02 sec)

mysql>select concat(round(sum(data_length/1024/1024),2),'MB') as data_length_MB,

->concat(round(sum(index_length/1024/1024),2),'MB') as index_length_MB

->from tables where

->table_schema='dbname'

->andtable_name='tablename';

+----------------+-----------------+

| data_length_MB | index_length_MB |

+----------------+-----------------+

| 158.67MB       | 224.86MB        |

+----------------+-----------------+

row in set (0.03 sec)

1.查看所有数据库容量大小

select

table_schema as '数据库',

sum(table_rows) as '记录数',

sum(truncate(data_length/1024/1024, 2)) as '数据容量(MB)',

sum(truncate(index_length/1024/1024, 2)) as '索引容量(MB)'

from information_schema.tables

group by table_schema

order by sum(data_length) desc, sum(index_length) desc;

```

### 2.查看所有数据库各表容量大小

```sql

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

order by data_length desc, index_length desc;

3.查看指定数据库容量大小

例:查看mysql库容量大小

select

table_schema as '数据库',

sum(table_rows) as '记录数',

sum(truncate(data_length/1024/1024, 2)) as '数据容量(MB)',

sum(truncate(index_length/1024/1024, 2)) as '索引容量(MB)'

from information_schema.tables

where table_schema='mysql';

4.查看指定数据库各表容量大小

例:查看mysql库各表容量大小

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='mysql'

order by data_length desc, index_length desc;

select concat(round(sum(data_length/1024/1024),2),'MB') as data_length_MB, concat(round(sum(index_length/1024/1024),2),'MB') as index_length_MB

from tables

where table_schema='passport'andtable_name='tb_user_info';

-- 569.98MB 141.98MB

select concat(round(sum(data_length/1024/1024),2),'MB') as data_length_MB, concat(round(sum(index_length/1024/1024),2),'MB') as index_length_MB

from tables

where table_schema='passport_v2'andtable_name='tb_user_info';

--   2128.94MB   285.00MB

【编辑推荐】

【责任编辑:庞桂玉 TEL:(010)68476606】

点赞 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值