[发明专利]SQL执行效率的提高方法、设备及存储介质有效
申请号: | 202111659306.4 | 申请日: | 2021-12-30 |
公开(公告)号: | CN114328606B | 公开(公告)日: | 2022-11-29 |
发明(设计)人: | 陈振强;徐伟 | 申请(专利权)人: | 星环信息科技(上海)股份有限公司 |
主分类号: | G06F16/2453 | 分类号: | G06F16/2453;G06F16/2455 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 王瑞云 |
地址: | 200233 上海市*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | sql 执行 效率 提高 方法 设备 存储 介质 | ||
1.一种SQL执行效率的提高方法,其特征在于,包括:
获取目标SQL的运算参与表的基本信息和运算参与操作的类型;
基于所述基本信息和所述类型,从所述运算参与操作中识别可优化操作;
判断各所述可优化操作是否符合预设条件,并在所述可优化操作符合所述预设条件的情况下,确定各所述可优化操作的初始执行代价以及添加聚合操作后各可优化操作的目标执行代价;
对于任一所述可优化操作,若所述初始执行代价和所述目标执行代价满足预设优化条件,将添加聚合操作后的可优化操作确定为所述可优化操作的替换操作;
利用所述替换操作对所述目标SQL中对应的所述可优化操作进行替换,以提高所述目标SQL的执行效率;
所述对于任一所述可优化操作,若所述初始执行代价和所述目标执行代价满足预设优化条件,将添加聚合操作后的可优化操作确定为所述可优化操作的替换操作,包括:
将所述初始执行代价放大N倍,若所述目标执行代价小于放大N倍后的初始执行代价,确定所述初始执行代价和所述目标执行代价满足预设优化条件,其中,所述N大于等于1;
若所述可优化操作具有去重性,直接为所述可优化操作添加聚合操作,得到所述可优化操作的替换操作;
若所述可优化操作不具有去重性,对所述可优化操作添加预先聚合操作,得到所述可优化操作的替换操作。
2.根据权利要求1所述的方法,其特征在于,所述基于所述基本信息和所述类型,从所述运算参与操作中识别可优化操作,包括:
基于所述基本信息和所述类型,确定各所述运算参与操作的聚合率;
将聚合率大于预设聚合率阈值的运算参与操作识别为可优化操作。
3.根据权利要求2所述的方法,其特征在于,所述基于所述基本信息和所述类型,确定各所述运算参与操作的聚合率,包括:
对于任一所述运算参与操作,根据预设聚合率算法与操作类型的映射关系确定所述运算参与操作的所述类型对应的目标聚合率算法;
从所述基本信息中提取所述目标聚合率算法所需的目标参数,并基于所述目标参数,利用所述目标聚合率算法确定所述运算参与操作的聚合率。
4.根据权利要求3所述的方法,其特征在于,所述目标参数包括待聚合字段,所述目标SQL中的运算参与操作包括聚合操作和关联操作;
所述从所述基本信息中提取所述目标聚合率算法所需的目标参数,包括:
遍历所述目标SQL对应的执行计划操作树,标记所述目标SQL中所述聚合操作对应的聚合字段以及所述关联操作对应的关联字段;
自顶向下遍历操作树,根据预设第一待聚合字段算法以及聚合操作对应的聚合字段确定所述聚合操作的子操作的待聚合字段,根据预设第二待聚合字段算法以及关联操作对应的关联字段确定所述关联操作的子操作的待聚合字段。
5.根据权利要求1所述的方法,其特征在于,所述判断各所述可优化操作是否符合预设条件,包括:
若所述目标SQL中不包含任何聚合操作,判断各所述可优化操作符合预设条件;
若所述目标SQL中包含聚合操作,若包含的所述聚合操作具有可归约性,判断各所述可优化操作符合预设条件。
6.根据权利要求1所述的方法,其特征在于,所述确定各所述可优化操作的初始执行代价以及添加聚合操作后各可优化操作的目标执行代价,包括:
对于任一所述可优化操作,利用预设代价模型计算所述可优化操作的初始执行代价以及添加聚合操作后各可优化操作的目标执行代价。
7.根据权利要求1所述的方法,其特征在于,所述对所述可优化操作添加预先聚合操作,得到所述可优化操作的替换操作,包括:
若所述目标SQL中的聚合函数没有包含新增聚合的列,对所述可优化操作添加预先聚合操作,同时增加虚拟列,得到所述可优化操作的替换操作,所述虚拟列用于记录重复元素的个数;
若所述目标SQL中的聚合函数没有包含新增聚合的列,对所述可优化操作添加预先聚合操作,得到所述可优化操作的替换操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于星环信息科技(上海)股份有限公司,未经星环信息科技(上海)股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111659306.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:电加热装置控制方法及系统
- 下一篇:动物穿戴设备及找寻动物穿戴设备的方法