分区字段必须为主键或主键的一部分,分区字段必须为强检索字段
hash算法
使用求余方案,用一个整数的值,将记录分散到分区中
hash:一类算法的总称,求余,md5,sha1等都是hash算法,只要使用某个输入,得到某个特定输出的算法就是hash算法,要求相同的输入应该得到相同的输出
key算法
是一个更加通用的hash算法,在hash中,仅仅可以针对整数进行求余运算,而key可以对非整型进行运算,如字符串,
核心与hash一致,都是求余分配,但是需要通过subject计算一个整数值,在完成求余操作
=========================================
一下两个是一种条件分区算法,指的是将数据使用某种条件,分散到不同的区中
range算法
范围条件算法:主要使用小于来实现条件,分区时严格指定每个分区的条件,不仅仅指定分区的数量了
仅支持lessthan运算,因此需要将更小的放在前面
list算法
- 使用列表值条件(in)进行分区