一种基于Spring和Mybatis按业务code自定义分表策略制造技术

技术编号:44738512 阅读:22 留言:0更新日期:2025-03-21 18:05
本发明专利技术公开了一种基于Spring和Mybatis按业务code自定义分表策略,涉及关系型数库技术领域,包括:分表客户端和分表服务端,所述分表客户端,包括:CodeShardAop分表切面、CodeShardInterceptor分表拦截器和CodeTableShard分表上下文;所述分表服务端,包括:code‑shard‑service分表服务。本发明专利技术按业务code来进行的分表,将和code相关的需要分表的表进行统一的分区,且可以自定义数据存在哪个分表,可以动态的调整数据的分表情况,且调整过程会锁定业务code相关的数据,另外支持分库的情况,将数据分散到多个表中,减少单个表的数据量,从而提高数据的查询和操作性能,能够更有效地利用数据库的索引,提高索引的效率,加快数据的检索速度。

【技术实现步骤摘要】

本专利技术涉及关系型数库,具体来说,涉及一种基于spring和mybatis按业务code自定义分表策略。


技术介绍

1、关系型数库如mysql、oracle,当单表的数据量增加到一定程度时,该表的查询就会变得越来越慢,这时候就要考虑分表。就是将一张表的数据分散成多张表。

2、目前,市面上的方案一般是对某张表设置一个分表规则,如按时间分表,将表xxx中2017年的数据放到表xxx_2017,2018的数据放到表xxx_2018……这样分表一直有一个难以解决的问题,就是表的数据是相关联,当碰到一个没有分表的表和一个分表的表的数据要关联起来进行分页查询、删除、修改等操作时。这类方案都无法满足要求。有的方案能局部满足要求,比如只满足修改、删除。但也需要对原码作比较大的改动:比如原mybatis的插件方法不能使用,要新增一个功能相同的方法来替换不能用的方法,来放置分表所用的参数或注解。

3、针对相关技术中的问题,目前尚未提出有效的解决方案。


技术实现思路

1、针对相关技术中的问题,本专利技术提本文档来自技高网...

【技术保护点】

1.一种基于Spring和Mybatis按业务code自定义分表策略,其特征在于,包括:分表客户端和分表服务端,其中;

2.根据权利要求1所述的基于Spring和Mybatis按业务code自定义分表策略,其特征在于,配置所述CodeShardInterceptor分表拦截器,包括以下步骤:

3.根据权利要求2所述的基于Spring和Mybatis按业务code自定义分表策略,其特征在于,所述通过Mybatis工作调用,包括以下步骤:

4.根据权利要求1所述的基于Spring和Mybatis按业务code自定义分表策略,其特征在于,所述code-sha...

【技术特征摘要】

1.一种基于spring和mybatis按业务code自定义分表策略,其特征在于,包括:分表客户端和分表服务端,其中;

2.根据权利要求1所述的基于spring和mybatis按业务code自定义分表策略,其特征在于,配置所述codeshardinterceptor分表拦截器,包括以下步骤:

3.根据权利要求2所述的基于spring和mybatis按业务code自定义分表策略,其特征在于,所述通过mybatis工作调用,包括以下步骤:

4.根据权利要求1所述的基于spring和mybatis按业务code自定义分表策略,其特征在于,所述code-shard-s...

【专利技术属性】
技术研发人员:李宝君何玉华
申请(专利权)人:全通金信控股广东有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1