本申请公开了一种数据表的连接方法和装置。其中,该连接方法包括:获取待连接的多个数据表中每个数据表的统计信息,其中,统计信息中记录有对应的数据表的属性信息;基于每个数据表的属性信息,确定每个数据表的数据容量;基于数据容量确定多个数据表中属于同一类型的数据表集合,并将数据表集合中的数据表进行表连接,得到中间数据表;将中间数据表与多个数据表中未连接的数据表依次连接。通过本申请,解决了现有技术中表连接时系统效率低的技术问题。
【技术实现步骤摘要】
数据表的连接方法和装置
本申请涉及数据处理领域,具体而言,涉及一种数据表的连接方法和装置。
技术介绍
针对查询维度链计算出的所有表结点(如多个事实数据表),需要进行表连接,而表连接顺序的设定对整个查询系统的性能的影响较大。现有技术中进行表连接时,由于各引擎的查询的实现方式不同,对整个查询系统的性能的影响方式不同,在进行表连接时,随机确定顺序或预先确定表顺序,该表连接方法的性能较差。另外,如何判断表是大表还是小表,且在带有过滤条件后,如何判断哪个是大表,哪个是小表,目前还未提出任何与此相关的方案。按照随机确定的顺序或预先确定的表顺序对各个表进行连接,表连接效率低,将会造成系统资源开销大、性能差。针对现有技术中表连接时系统效率低的问题,目前尚未提出有效的解决方案。
技术实现思路
本申请实施例提供了一种数据表的连接方法和装置,以至少解决现有技术中表连接时系统效率低的问题。根据本申请实施例的一个方面,提供了一种数据表的连接方法,该连接方法包括:获取待连接的多个数据表中每个数据表的统计信息,其中,统计信息中记录有对应的数据表的属性信息;基于每个数据表的属性信息,确定每个数据表的数据容量;基于数据容量确定多个数据表中属于同一类型的数据表集合,并将数据表集合中的数据表进行表连接,得到中间数据表;将中间数据表与多个数据表中未连接的数据表依次连接。进一步地,将数据表集合中的数据表进行表连接,得到中间数据表包括:将数据表集合中的数据表并发连接,得到中间数据表。进一步地,基于数据容量确定多个数据表中属于同一类型的数据表集合包括:将多个数据表中,数据容量小于预设数据容量的数据表确定为属于同一类型的数据表集合;或按照数据容量的大小顺序对多个数据表进行排序,得到第一序列,将第一序列中排序在前N位的数据表确定为属于同一类型的数据表集合,其中,N为大于等于二的自然数。进一步地,将中间数据表与多个数据表中未连接的数据表依次连接包括:按照中间数据表和多个数据表中未连接的数据表的数据容量的大小排列,得到第二序列;将第二序列中各个数据表的顺序作为连接顺序;按照连接顺序,依次连接第二序列中的各个数据表。进一步地,依次连接第二序列中的各个数据表包括:将第二序列中的第一个数据表设置为当前的第一表,对当前的第一表执行下述操作,直至第二序列中的最后一个数据表,操作包括:按照连接顺序,获取当前的第一表的下一个数据表,将下一个数据表作为第二表;将第一表和第二表连接,得到第三表;确定第三表和第二序列中未进行连接的数据表中,用于执行下一次操作的当前的第一表。进一步地,确定第三表和第二序列中未进行连接的数据表中,用于执行下一次操作的当前的第一表包括:基于第三表与第二序列中未进行连接的数据表的数据容量,重新确定连接顺序;将重新确定的连接顺序中第一个数据表作为用于执行下一次操作的当前的第一表。进一步地,基于每个数据表的属性信息,确定每个数据表的数据容量包括:从数据表的属性信息中读取数据表的数据容量;或从数据表的属性信息中读取数据表的行数,使用数据表的行数表示数据容量。根据本申请实施例的另一方面,还提供了一种数据表的连接装置,该连接装置包括:获取模块,用于获取待连接的多个数据表中每个数据表的统计信息,其中,统计信息中记录有对应的数据表的属性信息;确定模块,用于基于每个数据表的属性信息,确定每个数据表的数据容量;处理模块,用于基于数据容量确定多个数据表中属于同一类型的数据表集合,并将数据表集合中的数据表进行表连接,得到中间数据表;连接模块,用于将中间数据表与多个数据表中未连接的数据表依次连接。进一步地,处理模块包括:并发连接子模块,用于将多个数据表中的数据表集合中的数据表并发连接,得到中间数据表。进一步地,处理模块包括:第一确定子模块,用于将多个数据表中,数据容量小于预设数据容量的数据表确定为属于同一类型的数据表集合;或第二确定子模块,用于按照数据容量的大小顺序对多个数据表进行排序,得到第一序列,将第一序列中排序在前N位的数据表确定为属于同一类型的数据表集合,其中,N为大于等于二的自然数。进一步地,连接模块包括:排列子模块,用于按照中间数据表和多个数据表中未连接的数据表的数据容量的大小排列,得到第二序列;处理子模块,用于将第二序列中各个数据表的顺序作为连接顺序;连接子模块,用于按照连接顺序,依次连接第二序列中的各个数据表。在本申请实施例中,基于待连接的多个数据表的数据容量,确定多个数据表的连接顺序,并将多个数据表中同一类型的数据表连接,然后将中间数据表与上述的多个数据表中未连接的数据表连接。通过上述实施例,已经将同一类型的数据表进行了表连接,再将中间数据表与多个数据表中未连接的数据表依次连接的过程中,可以提高系统进行表连接的系统执行速度,也即,可以使得表连接耗费时间更短,从而提高表连接的效率,解决了现有技术中表连接时系统效率低的问题。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1是根据本申请实施例的一种数据表的连接方法的流程图;图2是根据本申请实施例的一种数据表的连接装置的示意图。具体实施方式为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。实施例1根据本申请实施例,提供了一种数据表的连接方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。图1是根据本申请实施例的一种数据表的连接方法的流程图,如图1所示,该连接方法可以包括如下步骤:步骤S102,获取待连接的多个数据表中每个数据表的统计信息,其中,统计信息中记录有对应的数据表的属性信息。步骤S104,基于每个数据表的属性信息,确定每个数据表的数据容量。步骤S106,基于数据容量确定多个数据表中属于同一类型的数据表集合,并将数据表集合中的数据表进行表连接,得到中间数据表。步骤S108,将中间数据表与多个数据表中未连接的数据表依次连接。采用本申请实施例,基于待连接的多个数据表的数据容量,确定多个数据表的连接顺序,并将多个数据表中同一类型的数据表连接,然后将中间数据表与上述的多个数据表中未连本文档来自技高网...
【技术保护点】
一种数据表的连接方法,其特征在于,包括:获取待连接的多个数据表中每个数据表的统计信息,其中,所述统计信息中记录有对应的数据表的属性信息;基于每个所述数据表的属性信息,确定每个所述数据表的数据容量;基于所述数据容量确定多个数据表中属于同一类型的数据表集合,并将所述数据表集合中的数据表进行表连接,得到中间数据表;将所述中间数据表与所述多个数据表中未连接的数据表依次连接。
【技术特征摘要】
1.一种数据表的连接方法,其特征在于,包括:获取待连接的多个数据表中每个数据表的统计信息,其中,所述统计信息中记录有对应的数据表的属性信息;基于每个所述数据表的属性信息,确定每个所述数据表的数据容量;基于所述数据容量确定多个数据表中属于同一类型的数据表集合,并将所述数据表集合中的数据表进行表连接,得到中间数据表;将所述中间数据表与所述多个数据表中未连接的数据表依次连接。2.根据权利要求1所述的连接方法,其特征在于,将所述数据表集合中的数据表进行表连接,得到中间数据表包括:将所述数据表集合中的数据表并发连接,得到所述中间数据表。3.根据权利要求2所述的连接方法,其特征在于,基于所述数据容量确定多个数据表中属于同一类型的数据表集合包括:将所述多个数据表中,数据容量小于预设数据容量的数据表确定为属于所述同一类型的数据表集合;或按照数据容量的大小顺序对所述多个数据表进行排序,得到第一序列,将所述第一序列中排序在前N位的数据表确定为所述属于同一类型的数据表集合,其中,N为大于等于二的自然数。4.根据权利要求1所述的连接方法,其特征在于,将所述中间数据表与所述多个数据表中未连接的数据表依次连接包括:按照所述中间数据表和所述多个数据表中未连接的数据表的数据容量的大小排列,得到第二序列;将所述第二序列中各个数据表的顺序作为连接顺序;按照所述连接顺序,依次连接所述第二序列中的各个数据表。5.根据权利要求4所述的连接方法,其特征在于,依次连接所述第二序列中的各个数据表包括:将所述第二序列中的第一个数据表设置为当前的第一表,对所述当前的第一表执行下述操作,直至所述第二序列中的最后一个数据表,所述操作包括:按照连接顺序,获取所述当前的第一表的下一个数据表,将所述下一个数据表作为第二表;将所述第一表和所述第二表连接,得到第三表;确定所述第三表和所...
【专利技术属性】
技术研发人员:洪超,
申请(专利权)人:北京国双科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。