mysql innodb 碎片_mysql innodb的碎片问题

MYSQL的碎片问题主要有2类: 一个是文件系统的碎片,一个是innodb的内部碎片。

最近测试中发现,无论是单表空间,还是多表空间,在windwos xp下都有严重的磁盘碎片问题。

如果采用统一表空间,那么最好一次性把文件大小规划到位,然后启动mysql创建统一表空间,创建完成后,立即用windows自带的碎片整理工具整理,你会惊讶的发现刚创建的大表文件竟然有如此多的碎片,如果不进行这样的操作系统层面的碎片整理,即使mysql innodb程序自己认为是连续读写空间,但是实际读写是不连续的,还是大量的随机读写,IO性能很低. 我推荐一次性分配全部最大空间,再做一次碎片整理避免windows碎片问题,这个问题可以一劳永逸的得到解决, 然后只剩下innodb的内部碎片问题需要关注了。推荐定期进行alter table 方式重新生成数据,新数据按照连续表空间排列,解决了innodb的内部碎片问题。

设置innodb_file_per_table = 1使用单表空间以后,虽然表面上是容易处理碎片问题,因为进行单表空间更小整理更容易, 但是实际上,碎片问题有可能更严重,这里主要是windows的碎片问题和innodb的内部碎片问题混合在一起,导致很难消除的碎片,对于这种情况,我推荐先进行windows系统的碎片整理,由于独立表空间一直在跟随数据量的变化而变化,所以,windows碎片严重是长期存在的现实, 首先要日常化定期整理windows碎片, 再进行日常化定期innodb的碎片整理,这样就需要2个维护整理碎片的操作,否则,mysql的性能,将同时受2种碎片的影响,IO性能非常低 因此,从碎片维护的角度考虑问题,我不推荐使用单表空间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值