[发明专利]一种SQL语句的运算方法、装置、设备和存储介质在审
申请号: | 202211649967.3 | 申请日: | 2022-12-21 |
公开(公告)号: | CN115809252A | 公开(公告)日: | 2023-03-17 |
发明(设计)人: | 龙涛 | 申请(专利权)人: | 金篆信科有限责任公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F16/2455;G06F8/41 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 潘登 |
地址: | 100176 北京市大兴区经济技术开发区科谷一*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 sql 语句 运算 方法 装置 设备 存储 介质 | ||
本发明公开了一种SQL语句的运算方法,包括:根据数据库接收到的SQL语句生成语法树,并根据语法树创建SQL语句的初始执行计划;SQL语句中的语句要素至少包括TopN要素和位于TopN要素之前的相邻要素;若相邻要素无法下推,则对初始执行计划中TopN要素和相邻要素之间的初始执行顺序进行更新,并对TopN要素和相邻要素之间的初始执行逻辑进行更新,确定目标执行计划;根据目标执行计划,对TopN要素进行运算得到TopN要素的运算结果,并根据TopN要素的运算结果确定是否执行相邻要素;若是,则返回执行相邻要素,并在目标执行计划执行结束后,对目标执行计划的执行结果进行计算整合,确定SQL语句的运算结果。可以在解决TopN要素无法下推问题的同时,保障SQL语句的运算效率。
技术领域
本发明实施例涉及计算机领域,尤其涉及一种SQL语句的运算方法、装置、设备和存储介质。
背景技术
随着信息社会的蓬勃发展,传统的集中式数据库越来越无法满足海量数据交易的需求。而分布式数据库具有高水平扩展性、高可用性和强一致性等特性,可以应对数据爆发式增长所带来的数据存储容量需求暴增和海量数据处理时延高问题。但是在面对非常复杂的SQL语句时,服务器的计算压力会非常大,同时对SQL语句的运算也会存在高时延的问题。当SQL语句中的TopN要素前的动作无法下压时,TopN要素也无法下压,这样就需要从DB上提取全量的数据到内存里才能进行TopN操作,这种操作会消耗大量的IO(Input Output,输入输出)资源、计算资源和内存资源,同时运算速度也会大大降低。所以,解决TopN无法下压是迫在眉睫的事情。因此,如何提高SQL语句的运算效率,并减少SQL语句在运算过程中的资源消耗,是需要解决的问题。
发明内容
本发明提供了一种SQL语句的运算方法、装置、设备和存储介质,可以在解决TopN要素无法下推问题的同时,节约了IO资源、计算资源和内存资源,保障了SQL语句的运算效率。
根据本发明的一方面,提供了一种SQL语句的运算方法,包括:
根据数据库接收到的SQL语句生成语法树,并根据所述语法树创建所述SQL语句的初始执行计划;所述SQL语句中的语句要素至少包括TopN要素和位于所述TopN要素之前的相邻要素;
若所述相邻要素无法下推,则对所述初始执行计划中TopN要素和所述相邻要素之间的初始执行顺序进行更新,并对所述TopN要素和所述相邻要素之间的初始执行逻辑进行更新,确定目标执行计划;
根据所述目标执行计划,对所述TopN要素进行运算得到TopN要素的运算结果,并根据TopN要素的运算结果确定是否执行所述相邻要素;
若是,则返回执行所述相邻要素,并在所述目标执行计划执行结束后,对所述目标执行计划的执行结果进行计算整合,确定所述SQL语句的运算结果。
根据本发明的另一方面,提供了一种SQL语句的运算装置,该装置包括:
初始执行计划确定模块,用于根据数据库接收到的SQL语句生成语法树,并根据所述语法树创建所述SQL语句的初始执行计划;所述SQL语句中的语句要素至少包括TopN要素和位于所述TopN要素之前的相邻要素;
目标执行计划确定模块,用于若所述相邻要素无法下推,则对所述初始执行计划中TopN要素和所述相邻要素之间的初始执行顺序进行更新,并对所述TopN要素和所述相邻要素之间的初始执行逻辑进行更新,确定目标执行计划;
目标执行计划执行模块,用于根据所述目标执行计划,对所述TopN要素进行运算得到TopN要素的运算结果,并根据TopN要素的运算结果确定是否执行所述相邻要素;
运算结果确定模块,用于若是,则返回执行所述相邻要素,并在所述目标执行计划执行结束后,对所述目标执行计划的执行结果进行计算整合,确定所述SQL语句的运算结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于金篆信科有限责任公司,未经金篆信科有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211649967.3/2.html,转载请声明来源钻瓜专利网。