分库原理数据库
根据业务逻辑紧密程度把表分红若干部分,存放于不一样数据库服务器中以下降单台服务器的负载,缺点跨数据库没法联表查询。服务器
减小字段可以使内存加载更多行数据,文件大小限制,把部分数据放到新的表中分布式
水平分表spa
因为数据量过大,文件大小限制,把部分数据放到新的表中。索引
分区内存
原理it
将数据按照必定规则分区存放,查询(条件符合规则)时数据库会自动指定相应的分区,减小查询数据量io
类型table
RANGE分区test
List分区
Hash分区
Key分区
子分区
适用场景
表很大,没法全存于内存,或者只有表最后有热点数据
分区后数据更易维护,操做单独分区
分区的数据能够存于不一样服务器(分布式)
避免某些特殊瓶颈
备份恢复独立分区
限制
分区字段中如有惟一索引列,则该列必须被包含
分区表不支持外键
旧版本一个表最多1024个分区
用法
create table .... partition by xxx
alter table test partition by xxx