有一类业务,例如订单表和订单明细表,明细表通常会依赖于订单表,这类关系可以用Mycat的ER分片表来表示,字表的记录与所关联的父表记录存放在同一个数据分片上,也是为了避免了跨库Join。下面我们再构造一个order_detail表来实现ER分片规则。
修改schema.xml配置,在order表的table标签下添加childTable子标签
|
|
添加order_stats表的全局ID修改conf/sequence_conf.properties,添加如下内容
|
|
重启Mycat
|
|
通过Mysql客户端连接Mycat,并新建order_detail表
|
|
在之前新建的java测试项目中生成代码
|
|
分别连上dn1和dn2看下数据:
写在最后
Mycat还有几种分片规则,其官网提供的文档写的也比较全面,可以自行去研究。该课题的学习笔记也暂时就写到这里,如果要部署到线上,还需要再进一步地深入研究,目前就当入门了。