[发明专利]一种数据查询的优化方法、装置、设备及存储介质有效
申请号: | 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语句进行结构化查询。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海达梦数据库有限公司,未经上海达梦数据库有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910816840.8/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置