[发明专利]SQL指令的执行方法、装置、电子设备及计算机可读介质在审
申请号: | 201910754039.5 | 申请日: | 2019-08-15 |
公开(公告)号: | CN112395302A | 公开(公告)日: | 2021-02-23 |
发明(设计)人: | 陈梓麟 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F16/2455;G06F16/27 |
代理公司: | 北京合智同创知识产权代理有限公司 11545 | 代理人: | 李杰 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | sql 指令 执行 方法 装置 电子设备 计算机 可读 介质 | ||
本申请实施例提供了一种SQL指令的执行方法、装置、电子设备及计算机可读介质,涉及数据库领域。其中,所述方法包括:对接收到的第一SQL指令对应的逻辑连接算子的原始二叉树结构进行转换,以获得所述第一SQL指令对应的浓密连接算子及所述浓密连接算子的多叉树结构;对所述浓密连接算子连接的数据表进行分组,以获得所述数据表的分组结果;基于所述分组结果,对所述第一SQL指令对应的浓密连接算子的多叉树结构进行转换,以获得所述第一SQL指令对应的逻辑连接算子的标准二叉树结构,其中,所述标准二叉树结构用于确定可下推至分布式数据库的节点执行的逻辑连接算子。通过本申请实施例,能够显著提高第一SQL指令的执行效率。
技术领域
本申请实施例涉及数据库领域,尤其涉及一种SQL指令的执行方法、装置、电子设备及计算机可读介质。
背景技术
对于分布式数据库,如果SQL指令对应的关系代数表达式中的连接算子连接多个数据表,则SQL指令对应的执行计划的搜索空间特别巨大。在巨大的搜索空间中快速选择出执行代价低的执行计划非常重要,它直接影响了SQL指令的最终执行时间。对于对应有连接多个数据表的连接算子的SQL指令,由于SQL指令的执行计划的搜索空间太大,通常需要对执行计划的搜索空间进行裁剪,以减小SQL指令的执行计划的搜索空间,进而有效提高SQL指令的执行效率。
现有技术中通常采用两种方案来对SQL指令的执行计划的搜索空间进行裁剪,以减小SQL指令的执行计划的搜索空间。第一种方案是通过用户显式指定的表继承关系来确定连接多个数据表的连接算子的下推。然而,该方案只能够对存在继承关系的数据表的连接算子进行下推,并且对于兄弟节点的数据表的连接算子无法下推。此外,从目前公开的信息看,没有对连接多个数据表的连接算子进行重排序来搜索更多的下推可能性。因此,该方案针对连接多个数据表的连接算子的下推能力有限,SQL指令对应的执行计划的搜索空间不能有效减小,进而无法提高SQL指令的执行效率。第二种方案是通过拆分规则及拆分键相等条件来确定连接多个数据表的连接算子的下推。然而,该方案的下推情况考虑不全,例如,单表不能与拆分表进行下推。此外,没有对连接多个数据表的连接算子进行重排序来搜索更多的下推可能性。因此,该方案针对连接多个数据表的连接算子的下推能力不够极致,SQL指令对应的执行计划的搜索空间不能有效减小,进而无法提高SQL指令的执行效率。
由此可见,如何通过有效减小SQL指令对应的执行计划的搜索空间来提高SQL指令的执行效率成为当前亟待解决的技术问题。
发明内容
本申请的目的在于提出一种SQL指令的执行方法、装置、电子设备及计算机可读介质,用于解决现有技术中存在的如何通过有效减小SQL指令对应的执行计划的搜索空间来提高SQL指令的执行效率的问题。
根据本申请实施例的第一方面,提供了一种SQL指令的执行方法。所述方法包括:对接收到的第一SQL指令对应的逻辑连接算子的原始二叉树结构进行转换,以获得所述第一SQL指令对应的浓密连接算子及所述浓密连接算子的多叉树结构;对所述浓密连接算子连接的数据表进行分组,以获得所述数据表的分组结果;基于所述分组结果,对所述第一SQL指令对应的浓密连接算子的多叉树结构进行转换,以获得所述第一SQL指令对应的逻辑连接算子的标准二叉树结构,其中,所述标准二叉树结构用于确定可下推至分布式数据库的节点执行的逻辑连接算子。
根据本申请实施例的第二方面,提供了一种SQL指令的执行装置。所述装置包括:第一转换模块,用于对接收到的第一SQL指令对应的逻辑连接算子的原始二叉树结构进行转换,以获得所述第一SQL指令对应的浓密连接算子及所述浓密连接算子的多叉树结构;分组模块,用于对所述浓密连接算子连接的数据表进行分组,以获得所述数据表的分组结果;第二转换模块,用于基于所述分组结果,对所述第一SQL指令对应的浓密连接算子的多叉树结构进行转换,以获得所述第一SQL指令对应的逻辑连接算子的标准二叉树结构,其中,所述标准二叉树结构用于确定可下推至分布式数据库的节点执行的逻辑连接算子。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910754039.5/2.html,转载请声明来源钻瓜专利网。