场景
- 原因
- 当有关联的数据存储在不同的分片时,就会遇到表连接的问题
- 在 Mycat 中是不允许跨分片做表连接查询的
- 解决
- 为了解决跨分片表连接的问题,Mycat 提出了父子表这种解决方案
特点
- 父子表规定父表可以有任意的切分算法,但与之关联的子表不允许有切分算法,即子表的数据总是与父表的数据存储在一个分片中
配置
schema.xml<schema name="test" checkSQLschema="true" sqlMaxLimit="100" randomDataNode="dn1"><table name="t_customer" dataNode="dn1,dn2" rule="sharding-by-areafile"><!-- 配置子表, 可以配置多个 --><!--joinKey属性:定义子表中用于关联父表的列parentKey属性:定义父表中被关联的列childTable标签内还可以继续添加childTable标签--><childTable name="t_orders" joinKey="customer_id" parentKey="id"/></table></schema>
