TDDL分库分表规则

规则如下:

判断一个ID在哪个库里的公式是:id % 4 / 2
判断一个ID在哪个表里的公式是:id % 4 % 2

其中4表示总共有多少个分表,2表示总共有多少个数据库;上面这个例子,表示总共有2个数据库,每个数据库有2个分表,所以是2 * 2 = 4;

所以,对于ID是1,2,3,4,5的这些情况,落到的库和表分别如下:

ID=1
1 % 4 / 2 = 0 (注:0表示是index=0的库,即第一个库,这里计算得到的数值都是从0开始)
1 % 4 % 2 = 1 (注:1表示是index=1的表,即第二个表,这里计算得到的数值都是从0开始)
即在第1个库里的第2个表

ID=2
2 % 4 / 2 = 1
2 % 4 % 2 = 0
即在第2个库里的第1个表

ID=3
3 % 4 / 2 = 1
3 % 4 % 2 = 1
即在第2个库里的第2个表

ID=4
4 % 4 / 2 = 0
4 % 4 % 2 = 0
即在第1个库里的第1个表

ID=5
5 % 4 / 2 = 0
5 % 4 % 2 = 1
即在第1个库里的第2个表

原文地址:https://www.cnblogs.com/jobs-lgy/p/6357665.html