[发明专利]一种数据查询的优化方法、装置、设备及存储介质有效

专利信息
申请号: 201910816840.8 申请日: 2019-08-30
公开(公告)号: CN110515973B 公开(公告)日: 2022-02-18
发明(设计)人: 朱仲颖;刘志勇;韩朱忠 申请(专利权)人: 上海达梦数据库有限公司
主分类号: G06F16/2453 分类号: G06F16/2453;G06F16/242
代理公司: 北京品源专利代理有限公司 11332 代理人: 孟金喆
地址: 201203 上海*** 国省代码: 上海;31
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 数据 查询 优化 方法 装置 设备 存储 介质
【权利要求书】:

1.一种数据查询的优化方法,其特征在于,包括:

确定解析后的结构化查询语言SQL语句为UNION集合类型语句后,确定所述UNION集合类型语句中的各分支语句的优化结果;

根据所述各分支语句的优化结果,确定待执行分支语句;

按照所述待执行分支语句进行结构化查询;

所述确定所述UNION集合类型语句中的各分支语句的优化结果之前,还包括:将解析后的SQL语句的集合操作符作为SQL二叉树的根节点,建立SQL二叉树;

根据所述SQL二叉树各个节点对应的节点类型,对所述UNION集合类型语句中的各个分支语句进行优化,得到各分支语句的优化结果,包括:

依次确定各节点对应的节点类型;

如果节点对应的节点类型为父节点,则获取所述节点的左子节点作为新的节点,返回执行确定各节点对应的节点类型的操作;

如果节点对应的节点类型为叶子节点,则判断所述叶子节点对应的分支语句是否满足过滤条件,所述叶子节点对应的分支语句是否满足过滤条件包括:所述叶子节点对应的分支语句的过滤条件为假,且所述叶子节点所属父节点对应的语句类型为UNION集合类型;

所述叶子节点对应的分支语句满足过滤条件,则将所述叶子节点删除,并将与所述叶子节点位于同一层的兄弟节点替换为父节点在SQL二叉树中的位置,继续分析下一个节点;

直到各个节点均分析完毕,将新的SQL二叉树确定各分支语句的优化结果。

2.根据权利要求1所述的方法,其特征在于,所述确定所述UNION集合类型语句中的各分支语句的优化结果,包括:

针对各分支语句,判断分支语句是否满足优化条件;

如果所述分支语句满足优化条件,则确定所述分支语句的优化结果为删除满足优化条件的分支语句,将分支语句个数减一,得到后一分支语句对应的分支语句个数;其中,所述分支语句为UNION集合运算的分支,所述分支语句满足优化条件包括:所述分支语句的过滤条件为假,且所述分支语句对应的分支语句个数大于1;

如果所述分支语句未满足优化条件,则确定所述分支语句的优化结果为保留未满足优化条件的分支语句;其中,所述分支语句未满足优化条件包括:所述分支语句的过滤条件为真;和/或,所述分支语句的过滤条件为假,且所述分支语句对应的分支语句个数等于1。

3.根据权利要求2所述的方法,其特征在于,根据所述各分支语句的优化结果,确定待执行分支语句,包括:

将保留的未满足优化条件的各分支语句,确定为待执行分支语句。

4.根据权利要求1所述的方法,其特征在于,所述确定所述UNION集合类型语句中的各分支语句的优化结果,包括:

采用先序遍历所述SQL二叉树每个节点,

根据所述SQL二叉树各个节点对应的节点类型,对所述UNION集合类型语句中的各个分支语句进行优化,得到各分支语句的优化结果。

5.根据权利要求1所述的方法,其特征在于,所述方法还包括:

检测到解析后的结构化查询语言SQL语句为非UNION集合类型语句时,则按照解析后的SQL语句进行结构化查询。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海达梦数据库有限公司,未经上海达梦数据库有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201910816840.8/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top