Mycat配置(三)-rule规则配置

 

    rule.xml 里面就定义了我们对表进行拆分所涉及到的规则定义。我们可以灵活的对表使用不同的分片算法。这个文件里面主要有 tableRule 和 function 这两个标签。在具体使用过程中可以按照需求添加 tableRule 和 function。

  • tableRule 标签
<tableRule name="rule1"> #name为规则的唯一名称,用于标识不同的表规则
  <rule>
    <columns>id</columns> #columns 为表示对表的哪个字段进行拆分

    #algorithm 使用function标签中的name属性。连接表规则和具体路由算法。当然,多个表规则可以连接到同一个路由算法上。 
     table 标签内使用。让逻辑表使用这个规则进行分片
    <algorithm>func1</algorithm> 
  </rule>
</tableRule>
  • function 标签
#name 指定算法的名字,供algorithm引用
#class 制定路由算法具体的类名字。

<function name="hash-int" class="org.opencloudb.route.function.PartitionByFileMap">

   #property 为具体算法需要用到的一些属性。
   <property name="mapFile">partition-hash-int.txt</property>

</function>

下面列举一些Mycat水平拆分表的常用规则:

  • 枚举法

   

<tableRule name="sharding-by-intfile">
    <rule>
      <columns>name</columns>
      <algorithm>hash-int</algorithm>
    </rule>
  </tableRule>
<function name="hash-int" class="io.mycat.route.function.PartitionByFileMap">
    <property name="mapFile">partition-hash-int.txt</property>

    #type为type默认值为0,0表示mapFile中的枚举类型Integer,非零表示mapFile中的枚举类型String
    <property name="type">1</property>

    #默认节点:小于0表示不设置默认节点,大于等于0表示设置默认节点,结点为指定的值(所有的节点配置都是从0开始,及0代表节点1),默认节点的作用:枚举分片时&#x
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值