rule.xml 里面就定义了咱们对表进行拆分所涉及到的规则定义。咱们能够灵活的对表使用不一样的分片算法,
或者对表使用相同的算法但具体的参数不一样。这个文件里面主要有 tableRule 和 function 这两个标签。在具体使
用过程当中能够按照需求添加 tableRule 和 function。、算法
这个标签订义表规则。
定义的表规则,在 schema.xml:code
<tableRule name="rule1"> <rule> <columns>id</columns> <algorithm>func1</algorithm> </rule> </tableRule>
name 属性指定惟一的名字,用于标识不一样的表规则。xml
内嵌的 rule 标签则指定对物理表中的哪一列进行拆分和使用什么路由算法。路由
columns 内指定要拆分的列名字。hash
algorithm 使用 function 标签中的 name 属性。链接表规则和具体路由算法。固然,多个表规则能够链接到
同一个路由算法上。table 标签内使用。让逻辑表使用这个规则进行分片。it
<function name="hash-int" class="io.mycat.route.function.PartitionByFileMap"> <property name="mapFile">partition-hash-int.txt</property> </function>
name 指定算法的名字。
class 制定路由算法具体的类名字。
property 为具体算法须要用到的一些属性。
路由算法的配置能够查看算法章节。io