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

技术编号:33547416 阅读:24 留言:0更新日期:2022-05-26 22:42
本公开提供了一种数据查询方法。所述方法包括:获取第一查询语句,所述第一查询语句包括对M个数据表中的数据的关联式查询操作;根据所述M个数据表中每个数据表的查询过滤条件,获取所述每个数据表的查询行数;基于所述每个数据表的查询行数,从所述M个数据表中确定出查询行数最小的一个数据表,其中,以所述查询行数最小的数据表作为第一数据表;获取所述第一数据表基于其自己的查询过滤条件确定出的记录中所述关联式查询操作所依据的字段的数据列,得到候选关联数据列;以及基于分别从所述M个数据表各自的与所述候选关联数据列对应的记录中进行数据查询,得到最终查询结果。本公开还提供了一种数据查询装置、一种电子设备及计算机可读存储介质。子设备及计算机可读存储介质。子设备及计算机可读存储介质。

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


本公开涉及计算机
,更具体地,涉及一种数据查询方法和装置、一种电子设备、以及一种计算机可读存储介质。

技术介绍

在进行数据查询时关联式查询操作join通常要关联多个数据表,因此相比都于单表查询join操作的数据量通常比较大,操作相对复杂,对数据查询的速率和效率影响也比较大。尤其是列式存储数据库clickhouse在多表关联查询上表现明显不足。在现有clickhouse提供的技术中,单表的各类分析式查询已经比较完善,但是在面对风控分析需要的多表关联式查询上表现明显不足。这时由于多表关联的聚合性能明显比单表聚合降低,即使在相同数据体量下,一些情况下clickhouse查询速率会慢于presto等平台。join的问题,会让clickhouse以大数据量分析见长的能力无法发挥,甚至在一些场景下,分析师不得不继续回到presto去完成分析。

技术实现思路

有鉴于此,本公开实施例提供了一种可以减少join操作的数据量的数据查询方法、装置、电子设备、以及计算机可读存储介质。本公开实施例的一个方面提供本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种数据查询方法,包括:获取第一查询语句,所述第一查询语句包括对M个数据表中的数据的关联式查询操作,其中,M为大于等于2的整数;根据所述M个数据表中每个数据表的查询过滤条件,获取所述每个数据表的查询行数;基于所述每个数据表的查询行数,从所述M个数据表中确定出查询行数最小的一个数据表,其中,以所述查询行数最小的数据表作为第一数据表;获取所述第一数据表基于其自己的查询过滤条件确定出的记录中所述关联式查询操作所依据的字段的数据列,得到候选关联数据列,其中,一个记录为数据表中的一行;以及基于分别从所述M个数据表各自的与所述候选关联数据列对应的记录中进行数据查询,得到最终查询结果。2.根据权利要求1所述的方法,其中,所述获取第一查询语句包括:接收用户输入的所述第一查询语句;解析所述第一查询语句,得到所述第一查询语句对应的第一抽象语法树;以及从所述第一抽象语法树中得到所述M个数据表、所述M个数据表中每个数据表的查询过滤条件、以及所述关联式查询操作。3.根据权利要求1或2所述的方法,其中,所述基于分别从所述M个数据表各自的与所述候选关联数据列对应的记录中进行数据查询,得到最终查询结果包括:以所述M个数据表中除所述第一数据表之外的每个数据表作为一个第二数据表,在每个所述第二数据表的查询过滤条件中追加新的查询过滤条件;基于每个所述第二数据表的所述新的查询过滤条件,修改所述第一查询语句,得到第二查询语句;以及按照所述第二查询语句进行数据查询,得到所述最终查询结果。4.根据权利要求3所述的方法,其中,所述在每个所述第二数据表的查询过滤条件中追加新的查询过滤条件包括:获取所述第二数据表基于其自己的查询过滤条件确定出的记录中所述关联式查询操作所依据的字段的数据列,得到待比较关联数据列;基于所述待比较关联数据列与所述候选关联数据列的对比,设置所述新的查询过滤条件;以及将所述新的查询过滤条件追加到所述第二数据表的查询过滤条件中。5.根据权利要求3所述的方法,其中:所述在每个所述第二数据表的查询过滤条件中追加新的查询过滤条件包括:在所述第一抽象语法树中,在每个所述第二数据表的查询过滤条件中追加新的查询过滤条件,得到第二抽象语法树;则,所述基于每个所述第二数据表的追加的查询过滤条件,修改所述第一查询语句,得到第二查询语句包括:基于所述第二抽象语法树,反向生成所述第二查询语句。6.根据权利要求1所述的方法...

【专利技术属性】
技术研发人员:关毛毛吕军程建波
申请(专利权)人:京东科技控股股份有限公司
类型:发明
国别省市:

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

1