Loading

13.HASH分区,KEY分区,COLUMNS分区

1.何为HASH分区?

故名思意,就是将列值通过特定的HASH函数计算后的值划分分区,HASH分区的目的是将数据均匀的分布到预先定义的各个分区中,保证数据均匀分布。
我们要做的是基于将要被散列的列值指定一个列值或表达式,以及指定被分区的表将要被分割的分区数量。
MySQL支持的HASH分区分为普通HASH分区和LINEAR HASH分区。

2.普通HASH分区实例学习

CREATE TABLE t_hash(
    a int,
    b datetime
)
partition by hash(year(b))
partitions 4;

上面建表语句中创建分区的意思是:根据b列的year()的函数值进行分区,计算方式是year(b)的值对4取余,
若结果为0,则该行数据会被放在p0分区
若结果为1,则该行数据会被放在p1分区
若结果为2,则该行数据会被放在p2分区
若结果为3,则该行数据会被放在p3分区

其中partitions 4代表着hash分区的数量为4,如果没有这个语句,分区数量默认为1.

posted @ 2021-10-29 19:39  文牧之  阅读(39)  评论(0)    收藏  举报  来源