【技术实现步骤摘要】
一种数据处理方法、装置、电子设备及计算机存储介质
[0001]本专利技术实施例涉及计算机
,尤其涉及一种数据处理方法、装置、电子设备及计算机存储介质。
技术介绍
[0002]随着数据库技术的发展,越来越多的应用要求能够实现基于数据库的快速查询功能。而在数据查询中,经常需要联表查询,也即需要结合多张数据表才能获得所需的数据。在联表查询中,由于过滤条件通常同时涉及至少两张数据表,这就意味着必须在join算子执行完毕之后才能做Filter(过滤)。即需要先把两张数据表连接后的结果输出,然后才能在这个输出之上过滤出要查询的数据。而两张数据表的无条件连接通常需要进行全表扫描,开销非常大。
[0003]基于此,需要一种更为节省开销的联表查询方案。
技术实现思路
[0004]有鉴于此,本专利技术实施例提供一种更为节省开销的联表查询方案,以至少部分解决上述问题。
[0005]根据本专利技术实施例的第一方面,提供了一种数据处理方法,应用于联表查询中,所述方法包括:
[0006]一种数据处理方法,应 ...
【技术保护点】
【技术特征摘要】
1.一种数据处理方法,应用于联表查询中,所述方法包括:确定用于联表查询的结构化查询语言SQL中所包含的过滤条件算子所对应的表达式;将所述表达式变换为N个可下推的表达式所组成的合取范式,其中,所述可下推的表达式表征在数据表连接join算子之前执行的表达式,所述可下推的表达式中不包含或运算,N≥2;确定与所述N个可下推的表达式所对应的N个子查询任务,处理所述N个子查询任务得到N个查询子表;合并所述N个查询子表生成查询结果。2.如权利要求1所述的方法,其中,将所述表达式变换为N个可下推的表达式所组成的合取范式,包括:将所述过滤条件算子所对应的表达式转换为包含N个子表达式的合取范式,其中,所述子表达式中仅包含或运算;确定所述子表达式所关联的数据表的数量;根据所述子表达式中所关联的数据表的数量将其分解为可下推的表达式;将所述表达式变换为可下推的表达式所组成的合取范式,其中,所述可下推的表达式的并集等价与所述过滤条件算子所对应的表达式。3.如权利要求2所述的方法,其中,根据所述子表达式中所关联的数据表的数量将其分解为可下推的表达式,包括:当所述子表达式所关联的数据表的数量为1时,将其确定为可下推的表达式。4.如权利要求2所述的方法,其中,根据所述子表达式中所关联的数据表的数量将其分解为可下推的表达式,包括:当所述子表达式所关联的数据表的数量为2时,采用如下方式将子表达式分解为可下推的表达式:拆分所述子表达式所关联的条件,生成与两个数据表分别相关的左表条件集合和右表条件集合;分别生成与左表条件集合对应的左表表达式和与右表条件集合对应的右表表达式,其中,所述左表表达式和右表表达式仅包含或运算;将所述子表达式转换为由左表表达式和右表表达式所确定的可下推的表达式。5.如权利要求4所述的方法,其中,将所述子表达式转换为由左表表达式和右表表达式所确定的可下推...
【专利技术属性】
技术研发人员:郭泽晖,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。