mysql 碎片率_mysql-碎片率和空间优化

mysql中information_schema.tables字段说明

data_free是空间碎片,单位是B。产生原因;

(1)记录被Delete,且原空间无法复用;

(2)记录被Update(通常出现在变长字段中,varchar,text),原空间无法复用;

data_length是数据长度,是所存数据的存储占用量

index_length是索引长度,是索引所占的存储空间

字段

含义

table_catalog

数据表登记目录

table_schema

数据表所属的数据库名

table_name

表名称

table_type

表类型[system view|base table]

engine

使用的数据库引擎[MyISAM|CSV|InnoDB]

version

版本,默认值10

row_format

行格式[Compact|Dynamic|Fixed]

table_rows

表里所存多少行数据

avg_row_length

平均行长度

data_length

数据长度

max_data_length

最大数据长度

index_length

索引长度

data_free

空间碎片

auto_increment

做自增主键的自动增量当前值

create_time

表的创建时间

update_time

表的更新时间

check_time

表的检查时间

table_collation

表的字符校验编码集

checksum

校验和

create_options

创建选项

table_comment

表的注释、备注

阿里RDS的计算方法:

表空间=data_length+index_length+data_free

碎片率=data_free/表空间

碎片整理

如果您已经删除了表的一大部分,或者如果您已经对含有可变长度行的表(含有VARCHAR, BLOB或TEXT列的表)进行了很多更改,则应使用

OPTIMIZE TABLE。被删除的记录被保持在链接清单中,后续的INSERT操作会重新使用旧的记录位置。您可以使用OPTIMIZE TABLE来重新

利用未使用的空间,并整理数据文件的碎片。

在多数的设置中,您根本不需要运行OPTIMIZE TABLE。即使您对可变长度的行进行了大量的更新,您也不需要经常运行,每周一次或每月一次

即可,只对特定的表运行。

OPTIMIZE TABLE只对MyISAM, BDB和InnoDB表起作用。

注意,在OPTIMIZE TABLE运行过程中,MySQL会锁定表。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值