本发明实施例涉及数据查询,尤其涉及一种数据库查询方法、装置、电子设备及存储介质。
背景技术:
1、在数据库,尤其是分析型数据库中,join操作的重要性不言而喻。join是数据库查询中的核心操作之一,它允许不同数据表之间的数据整合和交互,从而实现复杂的数据分析和报告。
2、在分析型数据库中,join操作尤为重要,因为它们经常处理来自多个源的大量数据,需要有效地合并和分析这些数据以提供洞察和决策支持。优化join操作不仅提高了查询的效率,还显著降低了处理大数据集时的资源消耗。因此,开发高效的join算法,尤其是在处理不等式join连接,对于提升分析型数据库的性能至关重要。
技术实现思路
1、本发明提供了一种数据库查询方法、装置、电子设备及存储介质,以解决数据库在处理不等条件联接时面临着效率低下的问题。
2、根据本发明的一方面,提供了一种数据库查询方法,包括:
3、获取结构化查询语言数据库中的select查询语句,所述select查询语句包括两个表的不等条件联接;
4、将所述两个表中的数据通过两个执行算子进行并行处理;
5、对两个表中处理后的数据进行分区和裁剪得到目标数据;
6、通过所有的执行算子基于所述目标数据并行执行iejoin算法,所述iejoin算法使用排序数组、排列数组以及位数组来计算符合两个不等联接条件的结果对。
7、根据本发明的另一方面,提供了一种数据库查询装置,包括:
8、获取模块,用于获取结构化查询语言数据库中的select查询语句,所述select查询语句包括两个表的不等条件联接
9、处理模块,用于将所述两个表中的数据通过两个执行算子进行并行处理;
10、确定模块,用于对两个表中处理后的数据进行分区和裁剪得到目标数据;
11、执行模块,用于通过所有的执行算子基于所述目标数据并行执行iejoin算法,所述iejoin算法使用排序数组、排列数组以及位数组来计算符合两个不等联接条件的结果对。
12、根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
13、至少一个处理器;
14、以及与所述至少一个处理器通信连接的存储器;其中,
15、所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的数据库查询方法。
16、根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的数据库查询方法。
17、本发明实施例的技术方案,通过引入了三个高效的数据结构,解决了数据库在处理不等条件联接时面临着效率低下的问题,取到了显著提高联接操作的效率,大幅提升数据库处理复杂查询的能力的有益效果。
18、应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
1.一种数据库查询方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述iejoin算法使用排序数组、排列数组以及位数组来计算符合两个不等联接条件的结果对,包括:
3.根据权利要求1或2所述的方法,其特征在于,所述两个表为相同表,相应的,所述iejoin算法为自联接算法,所述自联接算法包括:
4.根据权利要求3所述的方法,其特征在于,所述排列数组中记录了所述第二排序数组中的行标识在所述第一排序数组中的位置,所述行标识表示行的位置。
5.根据权利要求3所述的方法,其特征在于,所述位数组包括所述第一排序数组中的行标识和所述行标识的对应值,所述对应值的初始值为0,在访问所述第一排序数组和所述第二排序数组的过程中,对所述对应值重新赋值,根据赋值后的对应值确定所述第一元组和所述第二元组。
6.根据权利要求1所述的方法,其特征在于,所述两个表为不同表,相应的,所述iejoin算法包括:
7.根据权利要求6所述的方法,其特征在于,所述对所述第一排序数组、所述第二排序数组、所述第三排序数组、所述第四排序数组、所述第一排列数组以及所述第二排列数组按照预设策略进行合并排序,包括:
8.一种数据库查询装置,其特征在于,所述装置包括:
9.一种电子设备,其特征在于,所述电子设备包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的数据库查询方法。