数据查询方法、装置、电子设备以及存储介质制造方法及图纸

技术编号:35689722 阅读:15 留言:0更新日期:2022-11-23 14:37
本公开关于一种数据查询方法、装置、电子设备以及存储介质,涉及数据处理技术领域。本公开实施例至少解决相关技术中,在临时表同步存储多个数据源或多个数据表的数据,资源消耗大、查询效率低且浪费了存储资源的问题。该方法包括:获取包括至少一个查询字段的目标查询任务;按照预置拆分条件,拆分目标查询任务,得到至少两个子查询任务;在每个子查询任务对应的数据源中,根据每个子查询任务对应的聚合方式,以每个子查询任务对应的查询条件为筛选规则,得到至少两个子查询任务对应的至少两个查询结果;合并至少两个查询结果,生成目标查询任务的目标查询结果。如此,通过拆分目标查询任务,降低查询复杂度,缩小查询数据范围,提高查询效率。查询效率。查询效率。

【技术实现步骤摘要】
数据查询方法、装置、电子设备以及存储介质


[0001]本公开涉及数据处理
,尤其涉及一种数据查询方法、装置、电子设备以及存储介质。

技术介绍

[0002]在查询目标数据的场景中,如果目标数据存储于多个数据源或多个数据表中,则无法通过单条结构化查询语言,查询目标数据。在相关技术中,可以建立一张临时表,用于同步存储多个数据源或多个数据表中的数据,然后,在临时表中查询目标数据。如此,在临时表同步存储多个数据源或多个数据表的数据,资源消耗大、查询效率低且浪费了存储资源。

技术实现思路

[0003]本公开提供一种数据查询方法、装置、电子设备以及存储介质,以至少解决相关技术中,在临时表同步存储多个数据源或多个数据表的数据,资源消耗大、查询效率低且浪费了存储资源的问题。本公开的技术方案如下:
[0004]根据本公开实施例的第一方面,提供一种数据查询方法,包括:获取包括至少一个查询字段的目标查询任务,目标查询任务用于指示从至少一个数据表中查找目标数据;根据至少一个查询字段,按照预置拆分条件,拆分目标查询任务,得到至少两个子查询任务,每个子查询任务为单一数据表、单一查询条件和单一聚合方式的查询任务;在每个子查询任务对应的数据表中,根据每个子查询任务对应的聚合方式,以每个子查询任务对应的查询条件为筛选规则,得到至少两个子查询任务对应的至少两个查询结果;合并至少两个查询结果,生成目标查询任务的目标查询结果。
[0005]可选的,上述数据查询方法中,上述预置拆分条件包括至少两个子查询任务中的每个子查询任务中的查询字段,需要满足查询字段对应的数据表相同,查询字段对应的查询条件相同,和查询字段对应的聚合方式相同。
[0006]可选的,上述“根据至少一个查询字段,按照预置拆分条件,拆分目标查询任务,得到至少两个子查询任务”,包括:根据第一拆分条件,拆分目标查询任务,得到至少两个第一拆分查询任务,每个第一拆分查询任务中的查询字段对应的数据表相同;根据第二拆分条件,拆分每个第一拆分查询任务,得到至少两个第二拆分查询任务,每个第二拆分查询任务中的查询字段对应的查询条件相同;根据第三拆分条件,拆分每个第二拆分查询任务,得到至少两个第三拆分查询任务,每个第三拆分查询任务中的查询字段对应的聚合方式相同;确定至少两个第三拆分查询任务为至少两个子查询任务。
[0007]可选的,上述数据查询方法还包括:根据至少一个查询字段,按照预置拆分条件,拆分目标查询任务,得到至少两个子查询任务之后,获取目标查询任务中的目标维度字段;确定至少两个子查询任务中的每个子查询任务对应的任务维度字段,任务维度字段属于目标维度字段,并且任务维度字段还属于子查询任务的单一数据表包含的源维度字段;在每
个子查询任务中,添加每个子查询任务对应的任务维度字段。
[0008]可选的,上述“在每个子查询任务对应的数据表中,根据每个子查询任务对应的聚合方式,以每个子查询任务对应的查询条件为筛选规则,得到至少两个子查询任务对应的至少两个查询结果”,包括:确定至少两个子查询任务中的子主查询任务,并将至少两个子查询任务中的子主查询任务之外的子查询任务,确定为至少一个子从查询任务;在子主查询任务对应的数据表中,根据子主查询任务对应的聚合方式,以子主查询任务对应的查询条件为筛选规则,得到子主查询任务对应的主查询结果;在每个子从查询任务对应的数据表中,根据每个子从查询任务对应的聚合方式,以每个子从查询任务对应的查询条件为筛选规则,得到至少一个子从查询任务对应的至少一个从查询结果;
[0009]上述“合并至少两个查询结果,生成目标查询任务的目标查询结果”,包括:合并主查询结果和至少一个从查询结果,生成目标查询任务的目标查询结果。
[0010]可选的,上述“确定至少两个子查询任务中的子主查询任务”,包括:获取至少两个子查询任务中的第一目标任务,第一目标任务包括排序字段;在第一目标任务的任务数量为1的情况下,将第一目标任务确定为子主查询任务;在第一目标任务的任务数量大于1的情况下,将携带过滤条件的第一目标任务,确定为第二目标任务;在第二目标任务的任务数量为1的情况下,将第二目标任务确定为子主查询任务;在第二目标任务的任务数量大于1的情况下,将字段数量中的数量最大值对应的第一目标任务,确定为子主查询任务。
[0011]可选的,上述数据查询方法还包括:将至少两个子查询任务中的子主查询任务之外的子查询任务,确定为至少一个子从查询任务之后,获取子主查询任务对应的子主查询条件;以逻辑与方式将子主查询条件,添加至至少一个子从查询任务中的每个子从查询任务中。
[0012]可选的,上述“在每个子从查询任务对应的数据表中,根据每个子从查询任务对应的聚合方式,以每个子从查询任务对应的查询条件为筛选规则,得到至少一个子从查询任务对应的至少一个从查询结果”,包括:获取子主查询任务对应的主查询维度字段;在每个子从查询任务对应的数据表中,根据每个子从查询任务对应的聚合方式,以每个子从查询任务对应的查询条件和主查询维度字段为筛选规则,查找至少一个子从查询任务对应的至少一个从查询结果。
[0013]可选的,上述“合并主查询结果和至少一个从查询结果,生成目标查询任务的目标查询结果”,包括:合并子主查询任务中的维度字段对应的主键值,以及,至少一个子从查询任务中的维度字段对应的从键值,得到目标查询结果的目标键值;根据目标键值,合并主查询结果和至少一个从查询结果,生成目标查询任务的目标查询结果。
[0014]可选的,上述“在每个子从查询任务对应的数据表中,根据每个子从查询任务对应的聚合方式,以每个子从查询任务对应的查询条件为筛选规则,得到至少一个子从查询任务对应的至少一个从查询结果”,包括:以并发方式,在每个子从查询任务对应的数据表中,根据每个子从查询任务对应的聚合方式,以每个子从查询任务对应的查询条件为筛选规则,得到至少一个子从查询任务对应的至少一个从查询结果。
[0015]根据本公开实施例的第二方面,提供一种数据查询装置,包括获取单元、拆分单元、第一处理单元以及第二处理单元;获取单元,用于获取包括至少一个查询字段的目标查询任务,目标查询任务用于指示从至少一个数据表中查找目标数据;拆分单元,用于根据至
少一个查询字段,按照预置拆分条件,拆分获取单元获取的目标查询任务,得到至少两个子查询任务,每个子查询任务为单一数据表、单一查询条件和单一聚合方式的查询任务;第一处理单元,用于在每个拆分单元拆分的子查询任务对应的数据表中,根据每个拆分单元拆分的子查询任务对应的聚合方式,以每个拆分单元拆分的子查询任务对应的查询条件为筛选规则,得到至少两个子查询任务对应的至少两个查询结果;第二处理单元,用于合并第一处理单元得到的至少两个查询结果,生成目标查询任务的目标查询结果。
[0016]可选的,上述数据查询装置中,上述拆分单元中的预置拆分条件包括至少两个子查询任务中的每个子查询任务中的查询字段,需要满足查询字段对应的数据表相同,查询字段对应的查询条件相同,和查询字段对本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据查询方法,其特征在于,包括:获取包括至少一个查询字段的目标查询任务,所述目标查询任务用于指示从至少一个数据表中查找目标数据;根据所述至少一个查询字段,按照预置拆分条件,拆分所述目标查询任务,得到至少两个子查询任务,每个所述子查询任务为单一数据表、单一查询条件和单一聚合方式的查询任务;在每个所述子查询任务对应的数据表中,根据所述每个所述子查询任务对应的聚合方式,以所述每个所述子查询任务对应的查询条件为筛选规则,得到所述至少两个子查询任务对应的至少两个查询结果;合并所述至少两个查询结果,生成所述目标查询任务的目标查询结果。2.根据权利要求1所述的数据查询方法,其特征在于,所述预置拆分条件包括所述至少两个子查询任务中的每个子查询任务中的查询字段,需要满足所述查询字段对应的数据表相同,所述查询字段对应的查询条件相同,和所述查询字段对应的聚合方式相同。3.根据权利要求2所述的数据查询方法,其特征在于,所述根据所述至少一个查询字段,按照预置拆分条件,拆分所述目标查询任务,得到至少两个子查询任务,包括:根据第一拆分条件,拆分所述目标查询任务,得到至少两个第一拆分查询任务,每个所述第一拆分查询任务中的查询字段对应的数据表相同;根据第二拆分条件,拆分每个所述第一拆分查询任务,得到至少两个第二拆分查询任务,每个所述第二拆分查询任务中的查询字段对应的查询条件相同;根据第三拆分条件,拆分每个所述第二拆分查询任务,得到至少两个第三拆分查询任务,每个所述第三拆分查询任务中的查询字段对应的聚合方式相同;确定所述至少两个第三拆分查询任务为所述至少两个子查询任务。4.根据权利要求1

3任一项所述的数据查询方法,其特征在于,所述根据所述至少一个查询字段,按照预置拆分条件,拆分所述目标查询任务,得到至少两个子查询任务之后,所述方法还包括:获取所述目标查询任务中的目标维度字段;确定所述至少两个子查询任务中的每个子查询任务对应的任务维度字段,所述任务维度字段属于所述目标维度字段,并且所述任务维度字段还属于所述子查询任务的单一数据表包含的源维度字段;在每个所述子查询任务中,添加每个所述子查询任务对应的任务维度字段。5.根据权利要求1所述的数据查询方法,其特征在于,所述在每个所述子查询任务对应的数据表中,根据所述每个所述子查询任务对应的聚合方式,以所述每个所述子查询任务对应的查询条件为筛选规则,得到所述至少两个子查询任务对应的至少两个查询结果,包括:确定所述至少两个子查询任务中的子主查询任务,并将所述至少两个子查询任务中的所述子主查询任务之外的子查询任务,确定为至少一个子从查询任务;在所述子主查询任务对应的数据表中,根据所述子主查询任务对应的聚合方式,以所述子主查询任务对应的查询条件为筛选规则,得到所述子主查询任务对应的主查询结果;在每个所述子从查询任务对应的数据表中,根据所述每个所述子从查询任务对应的聚
合方式,以所述每个所述子从查询任务对应的查询条件为筛选规则,得到所述至少一个子从查询任务对应的至少一个从查询结果;所述合并所述至少两个查询结果,生成所述目标查询任务的目标查询结果,包括:合并所述主查询结果和所述至少一个从查询结果,生成所述目标查询任务的目标查询结果。6.根据权利要求5所述的数据查询方法,其特征在于,所述确定所述至少两个子查询任务中的子主查询任务,包括:获取所述至少两个子查询任务中的第一目标任务,所述第一目标任务包括排序字段;在所述第一目标任务的任务数量为1的情况下,将所述第一目标任务确定为所述子主查询任务;在所述第一目标任务的任务数量大于1的情况下,将携带过滤条件的第一目标任务,确定为第二目标任务;在所述第二目标任务...

【专利技术属性】
技术研发人员:唐小辉
申请(专利权)人:北京达佳互联信息技术有限公司
类型:发明
国别省市:

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

1