一、子表配置
<table name="demo" dataNode="dn1" rule="mod-long" subTables="t$1-3"/>
配置多DataNode出现问题
修改取模函数为1
子表不存在报错误
因为dn1和dataNode重复,因此下一步更名为t1,t2,t3
更名为t1--t3
插入三条数据到demo数据表中
查看执行计划
查询Demo,全查询的时候结果是错误的
精确查询,结果又是OK的
备注:实验脚本
CREATE TABLE `t1` (
`uuid` int(11) NOT NULL AUTO_INCREMENT,
`id` int(11) DEFAULT NULL,
`address` varchar(20) DEFAULT NULL,
PRIMARY KEY (`uuid`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
EXPLAIN select * from demo where id=2
insert into demo(uuid,id,address) values(1,1,'1111');
insert into demo(uuid,id,address) values(2,2,'2222');
insert into demo(uuid,id,address) values(3,3,'33333');
CREATE TABLE `t1` (
`uuid` int(11) NOT NULL AUTO_INCREMENT,
`id` int(11) DEFAULT NULL,
`address` varchar(20) DEFAULT NULL,
PRIMARY KEY (`uuid`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
CREATE TABLE `t2` (
`uuid` int(11) NOT NULL AUTO_INCREMENT,
`id` int(11) DEFAULT NULL,
`address` varchar(20) DEFAULT NULL,
PRIMARY KEY (`uuid`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
CREATE TABLE `t3` (
`uuid` int(11) NOT NULL AUTO_INCREMENT,
`id` int(11) DEFAULT NULL,
`address` varchar(20) DEFAULT NULL,
PRIMARY KEY (`uuid`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;