[发明专利]一种数据查询方法、装置、终端设备和存储介质有效
申请号: | 201811338576.3 | 申请日: | 2018-11-12 |
公开(公告)号: | CN109508339B | 公开(公告)日: | 2020-10-09 |
发明(设计)人: | 朱仲颖;张钦 | 申请(专利权)人: | 上海达梦数据库有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F16/2453;G06F16/2455 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 孟金喆 |
地址: | 201203 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 查询 方法 装置 终端设备 存储 介质 | ||
本发明公开了一种数据查询方法、装置、终端设备和存储介质。该方法包括:获取数据查询语句,数据查询语句包括至少一个子查询语句和外层查询表,子查询语句包括内层查询表和条件子句;条件子句中的字段名与内层查询表没有交集,则改写子查询语句中用于扫描对应内层查询表的语句后,更新对应的子查询语句;根据更新了子查询语句的数据查询语句,对数据进行查询。本发明解决了现有技术中在内层查询表中的列未参与子查询运算时,还需对该内层查询表进行扫描的技术问题,减少了对内层查询表处理性能的消耗,从而提高了数据查询效率。
技术领域
本发明实施例涉及计算机技术,尤其涉及一种数据查询方法、装置、终端设备和存储介质。
背景技术
随着互联网技术和相关行业的发展,计算机行业面临着指数增长的海量数据和更多的数据处理需求。针对这种情况,提高数据处理性能变得尤为重要。
在数据处理过程中,子查询可以分为相关子查询和非相关子查询两种类型。目前,数据库系统对相关子查询的通用处理方法为:将父查询(外层查询)中的每一条记录,根据其与子查询(内层查询)相关的属性值(也可为列)对子查询进行处理,即父查询执行一行,子查询就执行一次。
但当子查询中所涉及的列全部来自于外层查询表时,若采用通用处理方法对子查询进行运算处理,造成对子查询的处理效率较低,尤其是在子查询中内层查询表数据量较大时,会在扫描内层查询表中的数据上浪费大量时间,从而大大增加了对子查询中内层查询表处理性能的消耗,影响了数据查询效率。
发明内容
有鉴于此,本发明提供一种数据查询方法、装置、终端设备和存储介质,以减少对子查询中内层查询表处理性能的消耗,提高了数据查询效率。
第一方面,本发明实施例提供了一种数据查询方法,包括:
获取数据查询语句,所述数据查询语句包括至少一个子查询语句和外层查询表,所述子查询语句包括内层查询表和条件子句;
所述条件子句中的字段名与所述内层查询表没有交集,则改写子查询语句中用于扫描对应内层查询表的语句后,更新对应的子查询语句;
根据更新了子查询语句的数据查询语句,对数据进行查询。
进一步的,所述改写子查询语句中用于扫描对应内层查询表的语句后,更新对应的子查询语句,包括:
获取子查询语句中用于扫描对应内层查询表的语句;
将所述用于扫描对应内层查询表的语句改写为TOP形式的语句。
进一步的,在所述获取数据查询语句之后,还包括:
提取所述数据查询语句中的子查询语句;
确定所述子查询语句中的条件子句引用外层查询表。
进一步的,在所述提取所述数据查询语句中的子查询语句之后,还包括:
对所述子查询语句进行语法分析,确定所述子查询语句中不存在目标子语句。
进一步的,所述外层查询表至少为一个;所述内层查询表至少为一个。
进一步的,所述目标子语句包括:ROWNUM伪列、CONNECT BY子句、TOP子句、GroupBy子句和集函数。
第二方面,本发明实施例还提供了一种数据查询装置,该装置包括:
获取模块,用于获取数据查询语句,所述数据查询语句包括至少一个子查询语句和外层查询表,所述子查询语句包括内层查询表和条件子句;
改写模块,用于所述条件子句中的字段名与所述内层查询表没有交集,则改写子查询语句中用于扫描对应内层查询表的语句后,更新对应的子查询语句;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海达梦数据库有限公司,未经上海达梦数据库有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811338576.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:数据报表关联方法及装置
- 下一篇:精准营销的方法
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置