美文网首页
为何MYSQL很少用分区表,而用分库分表

为何MYSQL很少用分区表,而用分库分表

作者: 金融测试民工 | 来源:发表于2020-08-04 18:00 被阅读0次

        分库分表是MYSQL应对大数据、高并发的常见解决方案,有很多朋友特别是熟悉ORACLE的朋友可能会问,

        MYSQL有分区表,分区表同样能达到IO分散、提高性能的目的,而且更简单,更方便,为何还要采用分库分表呢。

    我想主要有以下几个方便的原因:

    1、MYSQL 对多CPU的支持还不是很好,还不能充分发挥多CPU的能力,如不支持并行,很多东西都不支持在线DDL等,

         如果将分表数据堆积成分区表,即便IO不是问题,MYSQL自身管理上也是个问题,效率比分表差太多。   

    2、MYSQL分区表自身的不完善,坑太多,有时完全起不到分区表的作用,和巨大单表无二致,甚至更差。

    3、分区表,分区键设计不太灵活,如果不走分区键,很容易出现全表锁,性能大幅下降。

    4、自己分库分表,自己掌控业务场景与访问模式,可控。分区表,研发写了一个sql,都不确定mysql是怎么玩的,不太可控。

    5、备份恢复问题,巨大的单表导致备份恢复时间成倍增加,加大整库备份恢复失败风险,在一些业务场景下,

         甚至不能在有限的时间窗口内完成备份。

    6、管理维护问题,如DDL,表一大简直是一场灾难。

        所以,现在很多的互联网公司的一些互联网应用,很少有采用分区表的,而大都采用分库分表。

    相关文章

      网友评论

          本文标题:为何MYSQL很少用分区表,而用分库分表

          本文链接:https://www.haomeiwen.com/subject/odnwrktx.html