基于mybatis自己实现分表

由于业务增长,需要分表处理。实现思路:

1.使用一致性hash算法通过业务id来计算数据属于哪张表

一致性hash算法参考:https://www.jianshu.com/p/ded630cb6d6c

2.使用自定义注解获取业务id,在需要分表接口实现类加入自定义注解。然后注解下的mapper方法获取到分表名进行sql替换。需注意的是自定义的mapper无法通过自定义注解和处理器替换表名,需要逐个改造。

3.使用mybatis动态表名处理器接口自己实现替换表名

4.可以先预估一个分表的量,然后分N张表。数据量参考可以单表最多500万或单表2G,后期数据量增多可以考虑数据迁移。

5.数据存储时可以把分表索引存储到id中,这样查询数据时可以通过id定位到具体分表。

posted @   蓝领笑笑生  阅读(596)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示