[发明专利]数据库的查询优化方法、存储介质及设备在审
| 申请号: | 202310325372.0 | 申请日: | 2023-03-29 |
| 公开(公告)号: | CN116303579A | 公开(公告)日: | 2023-06-23 |
| 发明(设计)人: | 范国腾;尹强 | 申请(专利权)人: | 北京人大金仓信息技术股份有限公司 |
| 主分类号: | G06F16/2453 | 分类号: | G06F16/2453;G06F16/2455 |
| 代理公司: | 北京智汇东方知识产权代理事务所(普通合伙) 11391 | 代理人: | 刘长江 |
| 地址: | 100102 北京市朝阳区容*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 数据库 查询 优化 方法 存储 介质 设备 | ||
本发明提供了一种数据库的查询优化方法、存储介质及设备。数据库的查询优化方法,包括:获取查询语句的原始代数表达式;应用初始逻辑优化规则,得到第一等价表达式;获取第一等价表达式的最优执行路径和对应的最小代价,记为最佳路径和基准代价;判断是否达到结束查询优化的预设条件,若达到预设条件,利用最佳路径执行查询语句;若未达到预设条件,从规则数组中选取逻辑优化规则;应用逻辑优化规则并获取评估路径和评估代价;比较评估代价和基准代价;若评估代价小于基准代价,更新最佳路径为评估路径,更新基准代价为评估代价。通过不断选取比较逻辑优化规则,能够生成最优的查询计划,有利于减小查询计划的执行时间。
技术领域
本发明涉及数据库技术领域,特别是涉及一种数据库的查询优化方法、存储介质及设备。
背景技术
结构化查询语言(Structured Query Language,简称SQL)是数据库的标准语言,是一种通用性极强的数据库语言。在数据库的使用过程中,一个SQL查询语句的执行必须经过查询优化。具体来说,每个查询语句都会有多种执行策略和操作算法,查询优化就是选择其中较为高效的处理策略的过程,从而获得处理效率较高的执行计划来执行查询语句,以提高查询效率。
因此,查询优化过程在数据库系统中有着非常重要的地位,是影响数据库性能的关键因素。如何在查询优化阶段获得更优选的查询计划是数据库系统需的一个重要问题。
发明内容
本发明的一个目的是要提供一种数据库的查询优化方法、存储介质及设备。
本发明一个进一步的目的是要避免查询优化阶段花费的时间过长。
特别地,本发明提供了一种数据库的查询优化方法,包括:
获取查询语句的原始代数表达式;
利用预先配置的初始逻辑优化规则对原始代数表达式进行等价变换,得到第一等价表达式;
获取第一等价表达式的最优执行路径和对应的最小代价,记为最佳路径和基准代价;
判断是否达到结束查询优化的预设条件,若达到预设条件,利用最佳路径执行查询语句;
若未达到预设条件,从预先配置的规则数组中选取逻辑优化规则,规则数组中配置有多个逻辑优化规则;
获取经逻辑优化规则变换后的代数表达式对应的最优执行路径和对应的最小代价,记为评估路径和评估代价;
比较评估代价和基准代价;
若评估代价小于基准代价,更新最佳路径为评估路径,更新基准代价为评估代价;
返回判断是否达到结束查询优化的预设条件的步骤。
可选地,获取经逻辑优化规则变换后的代数表达式对应的最优执行路径和对应的最小代价的步骤包括:
获取待变换表达式,待变换表达式赋值为第一等价表达式;
利用逻辑优化规则对待变换表达式进行等价变换,变换后的代数表达式记为第二等价表达式;
获取第二等价表达式的最优执行路径和对应的最小代价。
可选地,比较评估代价和基准代价的步骤之后包括:
若评估代价小于基准代价,更新待变换表达式为第二等价表达式。
可选地,判断是否达到结束查询优化的预设条件的步骤包括:
判断规则数组中的所有逻辑优化规则是否都已选取过,若是,则判定达到预设条件,若否,则判定未达到预设条件。
可选地,在判断规则数组中的所有逻辑优化规则是否都已选取过的步骤之前包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京人大金仓信息技术股份有限公司,未经北京人大金仓信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310325372.0/2.html,转载请声明来源钻瓜专利网。





