mysql分区

xiaoxiao2021-02-28  43

mysql分区: 数据库把一个表分解成更小的部分,但是对于访问数据库的应用来说还是一个表。

优点:

a.  可以存储更多的数据

b. 优化查询,在特定情况下只需要扫描一个分区,在涉及sum()和count()时可以在各个分区并行处理

查看数据库是否支持分区

这里是yes 就是支持分区

分区的类型:

 a. range分区: 基于一个给定的连续区间范围,把数据分配到不同的分区

 b.list分区: 基于枚举出的值列表分区,range基于给定的连续区间范围分区

 c.hash分区: 基于给定的分区个数,把数据分配到的不同分区

 d.key分区: 类似于hash分区

** 无论mysql分区的哪种类型,要么分区的表上没有主键或者唯一键,要么分区表的主键或唯一键都必须包含分区键

1 List分区

插入的数据的id 小于10 插入p0分区

插入的数据的id 小于20 插入p1分区

插入的数据的id 其他值插入p3

*maxvalue代表最大的可能值

通过alter 增加分区

alter table mpartition add partition (partition p4 values less than (60));

range分区适用于一下两种情况

 1.删除过期数据 只需要

来删除p0分区中的数据

2.经常运行包含分区键的查询 例如 插入id大于25的数据 mysql只会扫描特定的分区

2 List分区

插入的数据的id 是3,5,6会放入p0分区

插入的数据的id 是4 会放入p1分区

如果插入的值不再分区中,mysql将会报错

3.hash分区

hash分区确保在预先确定个数的分区中尽可能的分布。

4.key分区

key分区类似与hash分区,hash可以自定义表达式分区,但是 key只能使用mysql服务器提供的hash函数

转载请注明原文地址: https://www.6miu.com/read-2622055.html

最新回复(0)