在主从服务器上,同一个表的表空间文件大小相差特别大,可能原因是什么,怎么解决?
Posted 周万春
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在主从服务器上,同一个表的表空间文件大小相差特别大,可能原因是什么,怎么解决?相关的知识,希望对你有一定的参考价值。
在主从服务器上,同一个表的表空间文件大小相差特别大,可能原因是什么,怎么解决? 可能的原因: 1、mysql表默认是InnoDB引擎且目前索引只支持B+树索引,在数据的增删改过程中,会导致表产生碎片,主从服务器上同张表的碎片率不同也会导致表空间相差很大。 2、主库整理过碎片,从库是从原先的未整理的物理备份中恢复出来的。 3、主从表结构不一致,如从库可能比主库多索引。 4、主从表的行格式不一致,如主库为dynamic,从库为compressed。 5、个别云数据库在从库上可能采用特殊的并行复制技术,导致在从库上有更高的碎片率(有个极端的案例,同一个表在主库只有6G,从库上则有将近150G) 解决方式: 1、保证主从表结构一致(包括page大小、索引、行格式等) 2、在业务低峰期使用pt-osc或gh-ost通过alter table xxx engine=innodb;重整表空间,消除碎片(切记:执行前要先检查有无未结束事务或其他未释放锁)
以上是关于在主从服务器上,同一个表的表空间文件大小相差特别大,可能原因是什么,怎么解决?的主要内容,如果未能解决你的问题,请参考以下文章