zoukankan      html  css  js  c++  java
  • 在主从服务器上,同一个表的表空间文件大小相差特别大,可能原因是什么,怎么解决?

    在主从服务器上,同一个表的表空间文件大小相差特别大,可能原因是什么,怎么解决?
    
    
    可能的原因:
        1、MySQL表默认是InnoDB引擎且目前索引只支持B+树索引,在数据的增删改过程中,会导致表产生碎片,主从服务器上同张表的碎片率不同也会导致表空间相差很大。
        2、主库整理过碎片,从库是从原先的未整理的物理备份中恢复出来的。
        3、主从表结构不一致,如从库可能比主库多索引。
        4、主从表的行格式不一致,如主库为dynamic,从库为compressed。
        5、个别云数据库在从库上可能采用特殊的并行复制技术,导致在从库上有更高的碎片率(有个极端的案例,同一个表在主库只有6G,从库上则有将近150G)
    
    
    解决方式:
        1、保证主从表结构一致(包括page大小、索引、行格式等)
        2、在业务低峰期使用pt-osc或gh-ost通过alter table xxx engine=innodb;重整表空间,消除碎片(切记:执行前要先检查有无未结束事务或其他未释放锁)
  • 相关阅读:
    java 整型相除得到浮点型
    Interleaving String
    Insert Interval
    Mashup
    R-TREE
    默认以管理员身份运行VS2013/15/17
    C:malloc/calloc/realloc/alloca内存分配函数
    VS2015快捷键
    C++:UNREFERENCED_PARAMETER用法
    VC++常用数据类型及其操作详解
  • 原文地址:https://www.cnblogs.com/zhouwanchun/p/13143280.html
Copyright © 2011-2022 走看看