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个表


目录
相关文章
|
8月前
|
缓存 关系型数据库 MySQL
分库分表知识总结(四)
分库分表知识总结(四)
83 1
|
8月前
|
SQL 存储 数据库连接
什么是分库分表,为什么要分库分表?
笔者经常将缓存、分库分表、消息队列定义为高并发三剑客。开发互联网应用系统时,分库分表是一个绕不开的技术点。 这篇文章,我们会探讨如下问题:
|
3月前
|
存储 Java 关系型数据库
分库分表专题
分库分表专题
|
6月前
分库分表中间表优化
【7月更文挑战第21天】
43 2
|
6月前
|
中间件 数据库
分库分表全局查询
【7月更文挑战第12天】
146 12
|
8月前
|
存储 算法 数据库连接
为什么要分库分表
为什么要分库分表
为什么要分库分表
|
SQL 缓存 关系型数据库
什么情况下需要考虑分库分表?
什么情况下需要考虑分库分表?
160 0
|
存储 数据库连接 数据库
分库方案有哪些
分库方案有哪些
111 0
|
存储 数据处理 数据库
分表方案有哪些
分表方案有哪些
131 0
|
算法
Mycat分表分库规则--待发文
Mycat分表分库规则--待发文
91 0
Mycat分表分库规则--待发文