MYCAT10种常见分片规则之十 --- PartitionDirectBySubString(应用程序指定)

MYCAT10种常见分片规则之十 — PartitionDirectBySubString(应用程序指定)



一、使用场景

此规则是在运行阶段由应用程序自主决定路由到那个分片,基本上是在数字字符串字段上自由加工处理,如果没匹配上,则被分片到默认分区。


二、使用说明

1.指定分区字段名称。
2.类全名:io.mycat.route.function.PartitionDirectBySubString

rule.xml 配置如下:

<tableRule name="sharding-by-substring">
<rule>
<columns>user_id</columns>
<algorithm>sharding-by-substring</algorithm>
</rule>
</tableRule>
<function name="sharding-by-substring" class="io.mycat.route.function.PartitionDirectBySubString">
<property name="startIndex">0</property><!-- zero-based -->
<property name="size">2</property>
<property name="partitionCount">8</property>       #物理分区个数
<property name="defaultPartition">0</property>     #默认分区
</function>

配置说明:
上面columns 标识将要分片的表字段,algorithm 分片函数 ,此方法为直接根据字符子串(必须是数字)计算分区号(由应用传递参数,显式指定分区号)。

例如id=05-100000002
在此配置中代表根据id中从startIndex=0,开始,截取siz=2位数字即05,05就是获取的分区,如果没传默认分配到defaultPartition
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值