[发明专利]并行执行计划的执行方法及装置有效
申请号: | 201710804522.0 | 申请日: | 2017-09-08 |
公开(公告)号: | CN107688660B | 公开(公告)日: | 2020-03-13 |
发明(设计)人: | 郭振岗;王海龙;韩朱忠 | 申请(专利权)人: | 上海达梦数据库有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/2453;G06F16/28 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 孟金喆 |
地址: | 201203 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 并行 执行 计划 方法 装置 | ||
本发明公开了一种并行执行计划的执行方法及装置。该方法包括:在执行并行执行计划的当前操作符节点前,检查当前操作符节点对应的祖先并行操作符节点是否接收到并行执行计划之外的其他操作符节点发送来的数据;如果接收到,则将当前操作符节点作为回跳指针保存在并行操作符节点上,并跳转到并行操作符节点;在并行操作符节点接收到数据后,将该数据向根节点的方向传送;在控制流再次流动至所述并行操作符节点时,根据并行操作符节点上的回跳指针,跳转到回跳指针指向的操作符节点,并清空所述回跳指针。本发明减少了内存和磁盘资源的占用,提高了执行的输出效率和资源利用率,避免了引发执行性能的问题。
技术领域
本发明实施例涉及数据库技术,尤其涉及一种并行执行计划的执行方法及装置。
背景技术
在数据库系统中,当用户输入需要执行的SQL(Structured Query Language,结构化查询语言)语句时,数据库中的优化器解析该SQL语句,根据数据库中预先存储的数据库对象统计信息,选择数据库对象的访问路径和执行过程,这个访问路径和执行过程就是执行计划。
当前主流的商用关系型数据库管理系统生成的执行计划都是树形结构,具有多个层次,树的每个节点由一个操作符构成。执行计划执行时,数据从执行计划的叶子节点经执行计划树各层次节点的处理,流向根节点;控制流则由根节点流向叶子节点,根据每个操作符节点的不同,向对应的孩子节点获取数据。在这个过程中,无论是数据流还是控制流都是逐层进行的,不存在跨层传递。
执行计划在执行时控制流与数据流的流动过程大致如下:
1)控制流将执行计划树的根节点置为当前节点;
2)若当前节点有子节点且子节点还没有执行完毕,将控制流当前节点设置到当前节点的子节点(若当前节点有两个子节点,则根据当前节点操作符不同,选择一个子节点置为当前节点),转步骤2);
3)若当前节点无子节点或所有的子节点都已执行完毕且当前节点不是根节点,执行当前节点,将当前节点获取的数据,按控制流的反序将数据一层层向根节点传递;
3.1)若数据向上传递过程中遇到需要所有数据都获取完全后才能处理的操作符(如排序SORT操作符等),则数据缓存在此操作符,控制流将该节点置为当前节点,转步骤2)执行;
3.2)若数据向上传递过程中没有遇到需要所有数据都获取完全后才能处理的操作符,则数据流将数据传送到根节点,将此批数据返回给用户,并将根节点置为控制流当前节点,转步骤2)执行;
4)若当前节点所有的子节点都已执行完毕且当前节点是根节点,执行结束。
在普通的执行计划中,数据流路径是从叶子节点流向根节点,不存在跨层流动,这种机制在单站点数据库系统中是适用的。而在包含了具有通讯功能的并行操作符节点的并行执行计划中,数据的来源并不单一,除了从本站点的叶子节点获取,还可以从其他站点的并行计划的并行操作符节点获取。例如在附图1的并行执行计划中,包含了一个GATHER并行操作符节点,在执行过程中,其数据来源除了本站点的孩子节点PROJECT操作符的输出数据,还会从其他并行站点上的GATHER操作符节点接收数据。依照传统的数据逐层传递方法,可能站点A还在执行SCAN操作符(表扫描)节点时,其祖先的GATHER操作符节点已经收到了站点B发来的数据。由于控制流和数据流必须逐层传递,此时站点A正在处理叶子节点的SCAN操作,因此GATHER操作符节点无法处理站点B发来的数据,只能等待本站点的控制流和数据流处理完SCAN和PROJECT操作符节点后,处理到GATHER操作符节点时才能处理。在并行执行计划处理中发生这种情况时,别的站点发来的数据可能会产生堆积,数据量大时还需要保存到磁盘,等处理到此并行操作符节点时再从磁盘读出,占用大量内存或磁盘资源,引发资源紧张及执行性能问题。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海达梦数据库有限公司,未经上海达梦数据库有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710804522.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种切割装置
- 下一篇:一种用于长条的合金铝棒切割设备