分区分库分表

分库原理数据库

    根据业务逻辑紧密程度把表分红若干部分,存放于不一样数据库服务器中以下降单台服务器的负载,缺点跨数据库没法联表查询。服务器

分表原理

    垂直分表

        减小字段可以使内存加载更多行数据,文件大小限制,把部分数据放到新的表中分布式

    水平分表spa

        因为数据量过大,文件大小限制,把部分数据放到新的表中。索引

分区内存

    原理it

        将数据按照必定规则分区存放,查询(条件符合规则)时数据库会自动指定相应的分区,减小查询数据量io

    类型table

        RANGE分区test

        List分区

        Hash分区

        Key分区

        子分区

    适用场景

        表很大,没法全存于内存,或者只有表最后有热点数据

        分区后数据更易维护,操做单独分区

        分区的数据能够存于不一样服务器(分布式)

        避免某些特殊瓶颈

        备份恢复独立分区

    限制

        分区字段中如有惟一索引列,则该列必须被包含

        分区表不支持外键

        旧版本一个表最多1024个分区

    用法 

        create table ....  partition by xxx

        alter table test partition by xxx

比较分库,分区,分表

  • 分库或分表后,须要修改应用层,分区不用
  • 分库分表分为垂直和水平两种,分区只有水平方向
相关文章
相关标签/搜索