本发明实施例涉及车辆,尤其涉及一种分布式环境下左外连接查询方法、装置、设备及存储介质。
背景技术:
1、在分布式环境下进行左外连接操作时,一般会对右侧数据进行广播,或者对两侧数据进行重新分发。当连接列并非都是分布列,并且左侧数据量较少而右侧数据量较多时,上述两种方法都会引起较大的网络通讯开销,造成性能低下。
技术实现思路
1、本发明实施例提供一种分布式环境下左外连接查询方法、装置、设备及存储介质,以实现能够通过广播左侧表数据的方式得到左外连接结果,并通过对左外连接结果进行修正,得到目标连接结果集,进而在左侧表数据量较少而右侧表数据量较多时,可以有效减少网络通讯开销,提升左外连接查询性能。
2、根据本发明的一方面,提供了一种分布式环境下左外连接查询方法,包括:
3、获取目标sql语句;
4、根据所述目标sql语句确定外连接操作对应的左侧表的连接列和右侧表的连接列;
5、若左侧表的连接列和/或右侧表的连接列非分布列,则生成执行计划,其中,所述执行计划包括:连接结果筛选操作符、连接结果筛选操作符的左孩子节点第一数据接收操作符、第一数据接收操作符的左孩子节点第一数据发送操作符、第一数据发送操作符的左孩子节点左外连接操作符、左外连接操作符的左孩子节点第二数据接收操作符和右孩子节点第一表相关操作符、第二数据接收操作符的左孩子节点第二数据发送操作符以及第二数据发送操作符的左孩子节点第二表相关操作符;
6、根据所述执行计划执行所述目标sql语句,得到所述目标sql语句对应的目标连接结果集。
7、根据本发明的另一方面,提供了一种分布式环境下左外连接查询装置,该分布式环境下左外连接查询装置包括:
8、目标sql语句获取模块,用于获取目标sql语句;
9、连接列确定模块,用于根据所述目标sql语句确定外连接操作对应的左侧表的连接列和右侧表的连接列;
10、执行计划生成模块,用于若左侧表的连接列和/或右侧表的连接列非分布列,则生成执行计划,其中,所述执行计划包括:连接结果筛选操作符、连接结果筛选操作符的左孩子节点第一数据接收操作符、第一数据接收操作符的左孩子节点第一数据发送操作符、第一数据发送操作符的左孩子节点左外连接操作符、左外连接操作符的左孩子节点第二数据接收操作符和右孩子节点第一表相关操作符、第二数据接收操作符的左孩子节点第二数据发送操作符以及第二数据发送操作符的左孩子节点第二表相关操作符;
11、执行模块,用于根据所述执行计划执行所述目标sql语句,得到所述目标sql语句对应的目标连接结果集。
12、根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
13、至少一个处理器;以及
14、与所述至少一个处理器通信连接的存储器;其中,
15、所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的分布式环境下左外连接查询方法。
16、根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的分布式环境下左外连接查询方法。
17、本发明实施例通过获取目标sql语句;根据所述目标sql语句确定外连接操作对应的左侧表的连接列和右侧表的连接列;若左侧表的连接列和/或右侧表的连接列非分布列,则生成执行计划;根据所述执行计划执行所述目标sql语句,得到所述目标sql语句对应的目标连接结果集,能够通过广播左侧表数据的方式得到左外连接结果,并通过对左外连接结果进行修正,得到目标连接结果集,进而在左侧表数据量较少而右侧表数据量较多时,可以有效减少网络通讯开销,提升左外连接查询性能。
18、应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
1.一种分布式环境下左外连接查询方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,根据所述执行计划执行所述目标sql语句,得到所述目标sql语句对应的目标连接结果集,包括:
3.根据权利要求2所述的方法,其特征在于,所述第一数据发送操作符携带目标发送规则;
4.根据权利要求2所述的方法,其特征在于,对当前节点接收到的连接结果进行筛选,得到当前节点对应的筛选后的连接结果集,包括:
5.根据权利要求4所述的方法,其特征在于,还包括:
6.根据权利要求4所述的方法,其特征在于,还包括:
7.根据权利要求1所述的方法,其特征在于,若左侧表的连接列和/或右侧表的连接列非分布列,则生成执行计划,包括:
8.根据权利要求1所述的方法,其特征在于,若左侧表的连接列和/或右侧表的连接列非分布列,则生成执行计划,包括:
9.一种分布式环境下左外连接查询装置,其特征在于,包括:
10.一种电子设备,其特征在于,所述电子设备包括:
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-8中任一项所述的分布式环境下左外连接查询方法。