0
点赞
收藏
分享

微信扫一扫

Mycat中table标签详解

table标签

table标签定义了Mycat中的逻辑表,所有需要拆分的表都需要在这个标签中定义。

<table name=subscription primaryKey=id autoIncrement=true subTables=subscription,subscription$2-3 dataNode=node1 rule=auto-sharding-long-sub />

table标签的相关属性:

属性名 数量限制 描述
name String (1) 逻辑表名称
dataNode String (1..*) 逻辑表所属的dataNode节点,若定义节点过多dataNode="tablename$0-99,tablename2$100-199"
rule String (0..1) 分片规则引用
ruleRequired boolean (0..1) 该属性用于指定表是否绑定分片规则,如果配置为 true,但没有配置具体 rule 的话 ,程序会报错
primaryKey String (1) 逻辑表对应真实表的主键
type String (0..1) 定义逻辑表的类型,全局表:global 普通表:则不指定
autoIncrement boolean (0..1) 是否自增长主键功能
subTables String (1) 一般使用在单库分表中,使用方式添加 subTables=“t_order$1-2,t_order3”。1.6版本后开始支持
needAddLimit boolean (0..1) 设置分页大小
childTable标签

childTable标签用于定义E-R分片的子表,通过标签上的属性与父表进行关联。

<table name=t_order primaryKey=id dataNode=node1,node2,node3 rule=mod-long>  <!--ER关系表可进行相应表关联 采用取模分片-->
<childTable name=t_order_detail primaryKey=id joinKey=order_id parentKey=id/>
</table>

其标签相关属性

属性名 数量限制 描述
name String (1) 子表名称
joinKey String (1) 插入子表的时候会使用这个列的值查找父表存储的数据节点。
parentKey String (1) 与父表建立关联关系的列名
primaryKey String (0..1) 子表主键字段名称
needAddLimit boolean (0..1) 设置分页大小
举报

相关推荐

0 条评论