数据库表拆分方法、系统、电子设备及存储介质技术方案

技术编号:27308883 阅读:22 留言:0更新日期:2021-02-10 09:28
本发明专利技术实施例提供一种数据库表拆分方法、系统、电子设备及存储介质,方法包括:根据指定维度查找基础数据库表中每一种属性的多个属性值;对每一种属性的多个属性值进行指定操作运算,得到指定操作运算后的每一种属性的属性值;将指定操作运算后的每一种属性的属性值存储于指定维度数据库表中。本发明专利技术实施例按照对不同的指定维度将原始的基础数据库表拆分为各个维度的数据库表,每一个维度的数据库表中的数据量相比原有的数据库表要小,那么相比原有的在一张数据库表中查找数据,查找速度和效率会更高,同时也减轻了存储各个数据库表的服务器的压力,优化单一表数据量过大而产生的性能问题。能问题。能问题。

【技术实现步骤摘要】
数据库表拆分方法、系统、电子设备及存储介质


[0001]本专利技术涉及数据库处理
,尤其涉及一种数据库表拆分方法、系统、电子设备及存储介质。

技术介绍

[0002]随着软件及大数据技术的飞速发展,数据采集、查询、统计日趋频繁,传统的数据处理方式就是采集数据、插入数据库表,然后按照数据字段进行查询及统计,在数据量不大的情况下,数据库服务器和后台服务器不会有什么压力,当数据量达到一个级别时,比如说千万级及以上数据量,数据库查询统计就会变得很慢,效率低下,严重的可能导致服务器宕机,而且数据集中在一张或几种表中,当数据量很大时,风险也会很大,容易造成数据库服务器宕机。
[0003]为了避免上述情况发生,往往需要对数据库进行优化,通常采用以下几种方法,1、优化SQL语句,如Where、Like、Union等语句;2、升级数据库,采用性能更高级的数据库作为数据存储服务器;第一种方法可以对数据库优化起到一定作用,但随着数据量的增加,性能也会降低,不能解决根本性问题,第二种方法显然会造成成本增加;为了既能优化数据库又能避免增加成本,本专利提出一种采用分表法对数据库表进行水平切分实现数据库表优化的方法,将数据进行“智能”处理,同时分拆到多张数据库表中,进一步为数据查询及统计提供便利,同时极大地降低数据库和服务器的压力。

技术实现思路

[0004]本专利技术实施例提供一种数据库表拆分方法、系统、电子设备及存储介质,用以解决现有技术中数据查找效率低下的缺陷,实现数据的快速查找。
[0005]根据本专利技术实施例的第一方面,提供了一种数据库表拆分方法,包括:
[0006]根据指定维度查找基础数据库表中每一种属性的多个属性值;
[0007]对每一种属性的多个属性值进行指定操作运算,得到指定操作运算后的每一种属性的属性值;
[0008]将指定操作运算后的每一种属性的属性值存储于指定维度数据库表中。
[0009]在上述技术方案的基础上,本专利技术实施例还可以作出如下改进。
[0010]可选的,所述基础数据库表包括多种维度,每一种维度包括多个二级维度,采用二维数组表示基础数据库表的维度。
[0011]可选的,所述根据指定维度查找基础数据库表中每一种属性的多个属性值之前还包括:
[0012]对于任一种维度,采用一张对应的维度表表示;
[0013]所述维度表中包括主键ID、所述任一种维度下的多个二级维度。
[0014]可选的,所述根据指定维度查找基础数据库表中每一种属性的多个属性值之前还包括:
[0015]基于二维数组表示的维度,对所述基础数据库表的数据结构进行改造,改造后的数据结构包括每一个二维数组表示的维度和对应的多种属性。
[0016]可选的,所述指定维度为二维数组表示,所述根据指定维度查找基础数据库表中每一种属性的多个属性值包括:
[0017]根据所述指定维度,从改造后的数据库表中查找与所述指定维度对应的每一种属性的多个属性值。
[0018]可选的,所述将指定操作运算后的每一种属性的属性值存储于指定维度数据库表中后还包括:
[0019]根据查询请求,所述查询请求中携带二维维度信息;
[0020]根据所述二维维度信息,找到对应的指定维度数据库表;
[0021]从所述对应的指定维度数据库表中提取指定操作运算后的属性值。
[0022]根据本专利技术实施例的第二方面,提供了一种数据库表拆分系统,包括:
[0023]查找模块,用于根据指定维度查找基础数据库表中每一种属性的多个属性值;
[0024]运算模块,用于对每一种属性的多个属性值进行指定操作运算,得到指定操作运算后的每一种属性的属性值;
[0025]存储模块,用于将指定操作运算后的每一种属性的属性值存储于指定维度数据库表中。
[0026]本专利技术实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述数据库表拆分方法的步骤。
[0027]本专利技术实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述数据库表拆分方法的步骤。
[0028]本专利技术实施例提供的数据库表拆分方法、系统、电子设备及存储介质,按照对不同的指定维度将原始的基础数据库表拆分为各个维度的数据库表,每一个维度的数据库表中的数据量相比原有的数据库表要小,那么相比原有的在一张数据库表中查找数据,查找速度和效率会更高,同时也减轻了存储各个数据库表的服务器的压力,极大避免IO争抢并减少锁表的几率,解决了单一表数据量过大的问题,分出来的小表中只包含不同维度汇总后数据,从而使得单个表的数据量变小,提高检索性能。
附图说明
[0029]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0030]图1为本专利技术实施例提供的一种数据库表拆分方法流程示意图;
[0031]图2为原有的基础数据库表的数据结构示意图;
[0032]图3为本专利技术实施例的维度表的结构示意图;
[0033]图4为改造后的基础数据库表的数据结构示意图;
[0034]图5为拆分后所用到的数据表;
[0035]图6为数据统计拆分流程图;
[0036]图7为本专利技术实施例的一种数据库表拆分系统连接框图;
[0037]图8为本专利技术实施例的一种电子设备实体结构示意图。
具体实施方式
[0038]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0039]参见图1,提供了一种数据库表拆分方法,包括:S1,根据指定维度查找基础数据库表中每一种属性的多个属性值;S2,对每一种属性的多个属性值进行指定操作运算,得到指定操作运算后的每一种属性的属性值;S3,将指定操作运算后的每一种属性的属性值存储于指定维度数据库表中。
[0040]可以理解的是,在任何一个采用数据库作为数据的存储介质的平台或系统中,数据库存储和处理的合理性至关重要,通常,数据表会随着时间的推移,数据量会越来越大,大量采集到的数据存储在一张或几张表中,假设采集对象为M个,周期为一分钟或5分钟一次,这里假设一分钟一次,每次采集就会产生M条记录,如果不加处理,数据会日积月累,一天数据量为M*60*24条,一年为M*60*24*365=525600*M条,当M>200时,就本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据库表拆分方法,其特征在于,包括:根据指定维度查找基础数据库表中每一种属性的多个属性值;对每一种属性的多个属性值进行指定操作运算,得到指定操作运算后的每一种属性的属性值;将指定操作运算后的每一种属性的属性值存储于指定维度数据库表中。2.根据权利要求1所述的数据库表拆分方法,其特征在于,所述基础数据库表包括多种维度,每一种维度包括多个二级维度,采用二维数组表示基础数据库表的维度。3.根据权利要求2所述的数据库表拆分方法,其特征在于,所述根据指定维度查找基础数据库表中每一种属性的多个属性值之前还包括:对于任一种维度,采用一张对应的维度表表示;所述维度表中包括主键ID、所述任一种维度下的多个二级维度。4.根据权利要求2或3所述的数据库表拆分方法,其特征在于,所述根据指定维度查找基础数据库表中每一种属性的多个属性值之前还包括:基于二维数组表示的维度,对所述基础数据库表的数据结构进行改造,改造后的数据结构包括每一个二维数组表示的维度和对应的多种属性。5.根据权利要求4所述的数据库表拆分方法,其特征在于,所述指定维度为二维数组表示,所述根据指定维度查找基础数据库表中每一种属性的多个属...

【专利技术属性】
技术研发人员:陈巍王黎
申请(专利权)人:武汉虹信科技发展有限责任公司
类型:发明
国别省市:

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

1