[发明专利]一种数据查询的方法、相关装置及数据库系统有效
申请号: | 201710527453.3 | 申请日: | 2017-06-30 |
公开(公告)号: | CN109241093B | 公开(公告)日: | 2021-06-08 |
发明(设计)人: | 李茂增;孟聪;陈毅能 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F16/2453 | 分类号: | G06F16/2453;G06F16/2455 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 王仲凯 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 查询 方法 相关 装置 数据库 系统 | ||
本申请实施例公开了一种数据查询的方法,包括:接收数据查询请求,数据查询请求包含子查询以及子查询对应的父查询;确定数据查询请求的子查询估算代价值;若子查询估算代价值小于预设门限,则根据父查询传入的多个参数值构建父查询数据表,并对所述父查询数据表中的元组进行排序,以得到目标查询数据表;若目标查询数据表中第一元组对应的参数值与第二元组对应的参数值不一致,则根据第一元组对应的参数值执行子查询以获取第一数据查询结果。本申请实施例公开了一种数据查询装置及数据库系统。本申请实施例可以避免使用同样的参数进行重复计算,从而提升查询速度,降低执行开销,有利于性能的提升。
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据查询的方法、相关装置及数据库系统。
背景技术
随着互联网技术的快速发展,许多应用均伴随着大量数据的产生,这些数据通过数据库来保存。同时应用可通过结构化查询语言(structured query language,SQL)查询从数据库获取所需的数据。子查询,也称为内查询(Inner Query)或嵌套查询(NestedQuery),是一种嵌套在其他SQL查询的输出列或WHERE子句中的查询。被嵌套的该其他SQL查询也称为父查询或者外层查询(Outer Query)。子查询包括相关子查询和非相关子查询,如果外层查询是有变参传入子查询中,则该子查询为相关子查询,否则为非相关子查询。
为了提升子查询效率,现有技术通常可将子查询转化为联接(join),转化为join后通过高效的表连接算法,能够使得执行效率得以大幅提升。但是并不是所有的子查询都能转化为join来执行的。例如,对于如下不能转化为join的子查询:
select*from t1 where a1>(select avg(a2)from t2 where b1<b2);
在获取t1表每条语句的a1值和b1值后,需要对t2表进行扫描,如果满足b1值<b2值的条件,则记录a2值,然后求解a2值的平均值avg。如果a1值>平均值avg,则输出 t1表中的这条语句。整个过程需要对t1表扫描一遍,并且需要对t2表扫描多遍,这是一个迭代的过程,扫描次数等于t1表的记录数。
然而,在实际应用中,如果出现t1表中存在重复传入的参数b1值,则迭代到子查询中计算平均值avg的过程将会是重复的,从而导致查询速度降低,执行开销增大,造成性能下降。
发明内容
本申请实施例提供了一种数据查询的方法、相关装置及数据库系统,可以避免使用同样的参数进行重复计算,从而提升查询速度,降低执行开销,有利于性能的提升。
本申请实施例的第一方面提供一种数据查询的方法,可以包括:
数据查询装置首先接收用户触发的数据查询请求,该数据查询请求可以认为是一个执行计划(plan),且该数据查询请求包含子查询以及子查询对应的父查询,子查询的执行依赖于父查询传入的多个参数值。
接下来数据查询装置需要根据数据查询请求先计算本次子查询所需的子查询估算代价值,子查询估算代价值主要用于指示对父查询传入的多个参数值排序后执行子查询的代价,同时,子查询估算代价值还可以指示对父查询数据表中各条元组进行排序的代价大小。这里所提到的“代价”可以是指执行的步骤、指令或操作的数目,可以用时间、时间复杂度等来表示。此外,子查询估算代价值还与子查询对应的父查询传入的多个参数值的重复率相关。
如果计算得到的子查询估算代价值小于预设门限,那么数据查询装置会根据父查询传入的多个参数值构建父查询数据表,并对父查询数据表中的元组进行排序,然后得到目标查询数据表,其中,目标查询数据表中包含有多条元组,且每条元组可以包含至少一个参数值。通常情况下,目标查询数据表是按照传入参数值从大到小,或者从小到大的顺序排列的。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710527453.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种用户确定方法和装置
- 下一篇:一种快速查询方法、终端和可存储介质
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置