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