System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 数据库分表方法、装置、电子设备及存储介质制造方法及图纸_技高网

数据库分表方法、装置、电子设备及存储介质制造方法及图纸

技术编号:40996845 阅读:12 留言:0更新日期:2024-04-18 21:36
本申请公开了一种数据库分表方法、装置、电子设备及存储介质,属于数据库技术领域。其中,该方法包括:按照预设周期创建定时任务;触发所述定时任务,确定待新增分表的创建时间;读取当前时间,判断所述当前时间是否到达所述创建时间;在所述当前时间到达创建时间时,在目标数据库中创建主表的第一分表,采用所述第一分表存储目标时间段内的业务数据,其中,所述主表包括多个连续的时间段,每个时间段对应一个分表。通过本申请,将主表数据按照时间段拆分为多张分表,以存储不同时间段内生成的业务数据,减少了单表数据量,从而加快了数据查询速度。

【技术实现步骤摘要】

本申请涉及数据库,具体而言,涉及一种数据库分表方法、装置、电子设备及存储介质


技术介绍

1、目前,对于crm(customer relationship management,企业与客户之间的关系管理)电销场景,用户线索表数据库过亿,数据库操作非常缓慢,已经不能满足系统需求,成为系统瓶颈。目前,由于单表数据量过大,在查询场景下会产生大量慢查询,表象体现为页面加载数据超时,严重影响系统的正常运行。

2、针对相关技术中存在的上述问题,目前尚未发现有效的解决方案。


技术实现思路

1、本申请提供了一种数据库分表方法、装置、电子设备及存储介质,以解决相关技术中存在的上述技术问题。

2、根据本申请的一个实施例,提供了一种数据库分表方法,包括:按照预设周期创建定时任务;触发所述定时任务,确定待新增分表的创建时间;读取当前时间,判断所述当前时间是否到达所述创建时间;在所述当前时间到达创建时间时,在目标数据库中创建主表的第一分表,采用所述第一分表存储目标时间段内的业务数据,其中,所述主表包括多个连续的时间段,每个时间段对应一个分表。

3、根据本申请的另一个实施例,提供了一种数据库分表装置,包括:定时模块,用于按照预设周期创建定时任务;确定模块,用于触发所述定时任务,确定待新增分表的创建时间;判断模块,用于读取当前时间,判断所述当前时间是否到达所述创建时间;创建模块,用于在所述当前时间到达创建时间时,在目标数据库中创建主表的第一分表,采用所述第一分表存储目标时间段内的业务数据,其中,所述主表包括多个连续的时间段,每个时间段对应一个分表。

4、可选地,所述确定模块包括查询单元,用于查询所述目标数据库的分表记录表中历史创建的最后一条分表记录的分表信息;获取单元,用于获取所述分表信息对应的第一时间段;确定单元,用于根据所述第一时间段确定下一个分表对应的第二时间段;所述获取单元,还用于获取预设的准备时长;算单元,用于将所述第二时间段中的起始时间减去所述准备时长,得到待新增分表的创建时间。

5、可选地,所述数据库分表装置还包括检测模块,用于检测所述第一分表中的业务数据的总数;所述创建模块,还用于若所述总数超出预设阈值,则创建第二分表,采用所述第二分表继续存储所述目标时间段内的业务数据。

6、可选地,所述数据库分表装置还包括记录模块,用于获取所述第一分表的分表标识,并确定所述第一分表对应的目标时间段的起始时间和结束时间;所述第一分表的分表标识、以及所述起始时间和所述结束时间写入分表记录表。

7、可选地,所述创建模块包括读取单元,用于读取所述主表的主表标识、以及根据所述目标数据库的分表记录表确定第一分表的目标时间段、按序生成分表序号;生成单元,用于在所述主表标识和所述目标时间段之间插入第一分隔符,在所述目标时间段和所述分表序号之间插入第二分隔符,得到分表标识;关联单元,用于将所述分表标识关联至预创建的空表,得到所述第一分表。

8、可选地,所述数据库分表装置还包括执行模块,用于接收对指定的分表执行数据结构变更ddl操作的sql语句;循环所述目标数据库的分表记录表中所有分表的分表标识,查找所述指定的分表,其中,所述所有分表包括所述第一分表;对所述指定的分表执行所述ddl操作的sql语句。

9、可选地,所述数据库分表装置还包括查询模块,用于接收所述主表的查询语句;解析所述查询语句中的待查询的业务数据的业务时间段;在所述主表的所有分表中查找与所述业务时间段相关的若干个目标分表,其中,所述所有分表包括所述第一分表;查询所述目标分表中的业务数据。

10、根据本申请的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项装置实施例中的步骤。

11、根据本申请的又一个实施例,还提供了一种电子装置,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;其中:存储器,用于存放计算机程序;处理器,用于通过运行存储器上所存放的程序来执行上述方法中的步骤。

12、根据本申请的又一个实施例,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法中的步骤。

13、通过本申请实施例,按照预设周期创建定时任务,触发定时任务,确定待新增分表的创建时间,读取当前时间,判断当前时间是否到达创建时间,在当前时间到达创建时间时,在目标数据库中创建主表的第一分表,采用第一分表存储目标时间段内的业务数据,其中,主表包括多个连续的时间段,每个时间段对应一个分表,将主表数据按照时间段拆分为多张分表,以存储不同时间段内生成的业务数据,减少了单表数据量,从而加快了数据查询速度。

本文档来自技高网...

【技术保护点】

1.一种数据库分表方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,确定待新增分表的创建时间包括:

3.根据权利要求1所述的方法,其特征在于,在目标数据库中创建主表的第一分表之后,所述方法还包括:

4.根据权利要求1所述的方法,其特征在于,在目标数据库中创建主表的第一分表之后,所述方法还包括:

5.根据权利要求1所述的方法,其特征在于,在目标数据库中创建主表的第一分表包括:

6.根据权利要求1所述的方法,其特征在于,在目标数据库中创建主表的第一分表之后,所述方法还包括:

7.根据权利要求1所述的方法,其特征在于,在目标数据库中创建主表的第一分表之后,所述方法还包括:

8.一种数据库分表装置,其特征在于,包括:

9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;其中:

10.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行权利要求1至7中任一项所述的数据库分表方法。

...

【技术特征摘要】

1.一种数据库分表方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,确定待新增分表的创建时间包括:

3.根据权利要求1所述的方法,其特征在于,在目标数据库中创建主表的第一分表之后,所述方法还包括:

4.根据权利要求1所述的方法,其特征在于,在目标数据库中创建主表的第一分表之后,所述方法还包括:

5.根据权利要求1所述的方法,其特征在于,在目标数据库中创建主表的第一分表包括:

6.根据权利要求1所述的方法,其特征在于,在目...

【专利技术属性】
技术研发人员:唐俭周雷皓张轩铭高玉石郑明阳马立军
申请(专利权)人:北京轻松怡康信息技术有限公司
类型:发明
国别省市:

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

1