MySQL数据库查看表占用空间大小及碎片整理

查询数据库所占空间

1

2

3

select concat(round(sum(data_length/1024/1024),2),'MB') as data from 

information_schema.tables 

where table_schema='dbName';

查询表所占空间

1

2

select concat(round(sum(data_length/1024/1024),2),'MB'as data from information_schema.tables 

where table_schema='dbName' and table_name='tableName';

查询数据库所有表所占空间

1

2

select concat(round(sum(data_length/1024/1024),2),'MB'as data,table_name from information_schema.tables 

where table_schema='dbName' GROUP BY table_name ORDER BY data desc;

查看所有数据库容量大小

1

2

3

4

5

6

7

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) descsum(index_length) desc;

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

1

2

3

4

5

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;

查看指定数据库容量大小

1

2

3

4

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='dbName';

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

1

2

3

4

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

order by data_length desc, index_length desc;

mysql数据库整理碎片方法:

查看碎片方法

1

2

3

select table_schema db, table_name, data_free, engine     

from information_schema.tables 

where table_schema not in ('information_schema''mysql')  and data_free > 0;

清除表碎片

1

2

3

4

方法1 alter table 表名 engine=InnoDB

alter table tableName engine=InnoDB;

#方法2 optimize table 表名

optimize table tableName;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

mariopq

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值