[发明专利]一种SQL语句的运算方法、装置、设备和存储介质在审
申请号: | 202211649967.3 | 申请日: | 2022-12-21 |
公开(公告)号: | CN115809252A | 公开(公告)日: | 2023-03-17 |
发明(设计)人: | 龙涛 | 申请(专利权)人: | 金篆信科有限责任公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F16/2455;G06F8/41 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 潘登 |
地址: | 100176 北京市大兴区经济技术开发区科谷一*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 sql 语句 运算 方法 装置 设备 存储 介质 | ||
1.一种SQL语句的运算方法,其特征在于,包括:
根据数据库接收到的SQL语句生成语法树,并根据所述语法树创建所述SQL语句的初始执行计划;所述SQL语句中的语句要素至少包括TopN要素和位于所述TopN要素之前的相邻要素;
若所述相邻要素无法下推,则对所述初始执行计划中TopN要素和所述相邻要素之间的初始执行顺序进行更新,并对所述TopN要素和所述相邻要素之间的初始执行逻辑进行更新,确定目标执行计划;
根据所述目标执行计划,对所述TopN要素进行运算得到TopN要素的运算结果,并根据TopN要素的运算结果确定是否执行所述相邻要素;
若是,则返回执行所述相邻要素,并在所述目标执行计划执行结束后,对所述目标执行计划的执行结果进行计算整合,确定所述SQL语句的运算结果。
2.根据权利要求1所述的方法,其特征在于,若所述相邻要素无法下推,则对所述初始执行计划中TopN要素和所述相邻要素之间的初始执行顺序进行更新,并对所述TopN要素和所述相邻要素之间的初始执行逻辑进行更新,确定目标执行计划,包括:
若所述相邻要素无法下推,则确定所述TopN要素无法下推,并对所述初始执行计划中的TopN要素和所述相邻要素之间的执行顺序进行交换,得到经交换的目标执行顺序;
对所述初始执行计划中的TopN要素和所述相邻要素之间的执行逻辑进行调整得到经调整的目标执行逻辑,使根据所述TopN要素的执行结果判断是否执行所述相邻要素;
根据所述目标执行顺序和所述目标执行逻辑,确定目标执行计划。
3.根据权利要求1所述的方法,其特征在于,根据所述目标执行计划,对所述TopN要素进行运算得到TopN要素的运算结果,并根据TopN要素的运算结果确定是否执行所述相邻要素,包括:
基于所述目标执行计划中的目标执行顺序,优先将所述TopN要素下发至所述数据库,并基于所述TopN要素对所述数据库中的数据进行排序处理,确定排序结果流;
对所述排序结果流进行计数处理,确定所述TopN要素的计数结果,并根据所述计数结果和所述目标执行计划的目标执行逻辑,确定是否返回执行所述相邻要素。
4.根据权利要求3所述的方法,其特征在于,基于所述目标执行计划中的目标执行顺序,优先将所述TopN要素下发至所述数据库,并基于所述TopN要素对所述数据库中的数据进行排序处理,确定排序结果流,包括:
将所述TopN要素中的排序操作下发至所述数据库;
调用所述相邻要素对应的目标更新器,根据所述排序操作对所述数据库中的数据进行排序处理,确定所述数据库反馈的排序结果流。
5.根据权利要求3所述的方法,其特征在于,对所述排序结果流进行计数处理,确定所述TopN要素的计数结果,并根据所述计数结果和所述目标执行计划的目标执行逻辑,确定是否返回执行所述相邻要素,包括:
调用所述相邻要素对应的目标更新器,根据所述相邻要素对应的查询过滤条件,对所述排序结果流进行数据过滤,获取所述目标更新器反馈的过滤结果流;
对所述过滤结果流进行计数处理,确定所述TopN要素的计数结果;
确定所述计数结果是否符合所述目标执行计划的目标执行逻辑规定的计数限制条件,若是,则返回执行所述TopN要素的相邻要素。
6.根据权利要求1所述的方法,其特征在于,返回执行所述相邻要素,并在所述目标执行计划执行结束后,对所述目标执行计划的执行结果进行计算整合,确定所述SQL语句的运算结果,包括:
返回执行所述相邻要素,并在所述目标执行计划执行结束后,根据并行线程从所述数据库中获取所述目标执行计划的执行结果;
将所述执行结果分为常规结果和待计算结果,并对所述待计算结果进行计算处理,并对所述常规结果和计算处理后的待计算结果进行整合,确定所述SQL语句的运算结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于金篆信科有限责任公司,未经金篆信科有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211649967.3/1.html,转载请声明来源钻瓜专利网。