[发明专利]执行计划的优化方法、装置、计算机设备和存储介质有效
申请号: | 201910449873.3 | 申请日: | 2019-05-27 |
公开(公告)号: | CN110297858B | 公开(公告)日: | 2021-11-09 |
发明(设计)人: | 汪金忠;孙迁;赵云;范东 | 申请(专利权)人: | 苏宁云计算有限公司 |
主分类号: | G06F16/25 | 分类号: | G06F16/25 |
代理公司: | 北京市万慧达律师事务所 11111 | 代理人: | 张慧娟 |
地址: | 210000 江苏省南*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 执行 计划 优化 方法 装置 计算机 设备 存储 介质 | ||
1.一种执行计划的优化方法,其特征在于,所述方法包括如下步骤:
获取查询请求,解析出所述查询请求所采用的操作方式以及对应的场景,其中所述操作方式包括全外连接、联合、左外连接、右外连接以及内连接;
结合所述操作方式以及所述场景,将汇总和/或limit操作按照预设的策略下推,生成执行计划;
当所述操作方式为全外连接或联合,所述场景为对汇总值不进行排序时,所述将汇总和/或limit操作按照预设的策略下推,生成执行计划包括:
对同期结果集以及本期结果集按照分析维度的组合进行排序后,将所述limit操作下推到数据库中;
按照所述执行计划在数据库中执行相应操作,输出查询结果。
2.根据权利要求1所述的执行计划的优化方法,其特征在于,当所述操作方式为全外连接或联合,所述场景为对维度进行排序时,所述将汇总和/或limit操作按照预设的策略下推,生成执行计划包括:
检验排序字段与分析维度是否一致,若不一致,则将所述排序字段设置为与所述分析维度一致,对所述维度重新进行排序后,将所述limit操作下推到数据库中。
3.根据权利要求1所述的执行计划的优化方法,其特征在于,当所述操作方式为全外连接或联合,所述场景为对汇总值进行排序时,所述将汇总和/或limit操作按照预设的策略下推,生成执行计划包括:
对汇总值进行排序的结果集进行汇总计算后,将所述汇总和所述limit操作均下推到数据库中,获取返回的第一结果集;
将所述第一结果集中的维度值作为过滤条件传给其余结果集,获取返回的第二结果集;
将所述第二结果集与所述第一结果集进行匹配,将匹配成功的结果补充至所述第一结果集中,生成最终的结果集。
4.根据权利要求1所述的执行计划的优化方法,其特征在于,当所述操作方式为左外连接,所述场景为对汇总值不进行排序或对维度进行排序或对左表中的汇总值进行排序时,所述将汇总和/或limit操作按照预设的策略下推,生成执行计划包括:
将所述汇总操作、所述limit操作以及过滤操作直接下推到左表中,获取左表返回的结果集;
将所述左表返回的结果集中的维度值作为过滤条件,传到右表中,将右表的汇总结果与所述左表返回的结果集进行匹配,生成最终的结果集。
5.根据权利要求1所述的执行计划的优化方法,其特征在于,当所述操作方式为左外连接,所述场景为对右表中的汇总值进行排序时,所述将汇总和/或limit操作按照预设的策略下推,生成执行计划包括:
设置下推参数以及放大比例;
根据所述下推参数判断是否满足下推的条件,若满足,则将所述limit操作中的limit值按照所述放大比例放大;
将放大后的所述limit操作与排序操作下推到右表中,获取右表返回的结果集;
将所述右表返回的结果集中的维度值作为过滤条件,传到左表中,将左表的汇总结果与所述右表返回的结果集进行匹配,生成最终的结果集。
6.根据权利要求1所述的执行计划的优化方法,其特征在于,当所述操作方式为右外连接,所述场景为对汇总值不进行排序或对维度进行排序或对右表中的汇总值进行排序时,所述将汇总和/或limit操作按照预设的策略下推,生成执行计划包括:
将所述汇总操作、所述limit操作以及过滤操作直接下推到右表中,获取右表返回的结果集;
将所述右表返回的结果集中的维度值作为过滤条件,传到左表中,将左表的汇总结果与所述右表返回的结果集进行匹配,生成最终的结果集。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏宁云计算有限公司,未经苏宁云计算有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910449873.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种智能化用户终端服务平台及展示方法
- 下一篇:处理实时数据的方法和装置