[发明专利]一种数据查询方法、装置及系统有效
申请号: | 201480036835.0 | 申请日: | 2014-06-10 |
公开(公告)号: | CN105378724B | 公开(公告)日: | 2019-02-05 |
发明(设计)人: | 施会华;李俊;方帆 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/2455 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 黄志华 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 查询 方法 装置 系统 | ||
实施例中提供了一种数据查询方法、装置及系统,在该方法中通过对查询请求进行语法分析之后,得到查询请求对应的关系树,确定该关系树所对应的类型,再确定出关系树的类型对应的执行函数模板,最后通过执行确定出的执行函数模板得到最终的查询结果。这样可以将一个完整的查询请求对应成一个执行函数模板,在该执行函数模板中包含了对应类型的关系树上各节点对应的执行函数,从而避免了查询过程中反复的调用执行函数所带来的信令开销,提升了数据查询的速度。
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据查询方法、装置及系统。
背景技术
当前,在数据仓库与在线联机分析处理(英文:Online Analytical Processing,简称:OLPA)领域来讲,数据的查询速度尤为重要。在OLAP领域,数据库查询过程需要遍历较大的数据量才能完成查询,在如此大的数据量下,若还需要数据库查询有较快的响应,这样就对数据库处理性能提出很大挑战。
当前的数据库查询方式一般都是基于结构化查询语言(英文:Structured QueryLanguage,简称:SQL)进行查询,查询的执行过程为:SQL查询请求进入数据库系统后,数据库系统先将SQL查询请求通过语法分析后转换成关系树,通过关系树在数据库中得到原始数据,比如说数据库中存在表A、表B、表C以及表D,通过关系树中确定出需要在表A和表B中查询数据,此时就将表A和表B从数据库中调取出来作为原始数据。
再通过调用关系树上关系节点对应的执行函数,最后按照次序执行关系节点对应的执行函数在原始数据中查询出需要的查询结果。
现有的基于SQL的数据库查询的执行方式主要有火山模型引擎与列式数据执行引擎。其中,火山模型执行过程如图1所示,其查询模式为执行了关系树上的一个关系节点对应的执行函数之后,将调用一次next函数,从而执行下一个节点上的执行函数,直至最后一个关系节点上的执行函数被执行完毕为止,最后在原始数据中得到查询结果。这样在关系树上的关系节点较多时,依次调用各个关系节点上的执行函数,使得调用开销将非常大,查询速度较慢。
列式数据查询引擎执行过程如图2所示,数据库系统接收到SQL查询请求后,经过语法解析将SQL查询请求转换成关系树,关系树的结构如图2所示,执行查询的过程为:首先调取关系树中第一个关系节点上的执行函数,来执行basetable操作,从而在数据库中筛选出a列数据和b列数据,对a列数据进行select操作,从而得到符合条件的a’列数据,并将符合条件的a’列数据暂时保存在缓存中;然后进入下一个关系节点,调取并执行该节点上的执行函数,以将符合条件的a’列数据与b列数据进行fetchjoin操作获得符合条件的b’列数据,将符合条件的b’列数据暂时保存在缓存中;然后再进入下一个关系节点,调取并执行该节点上的执行函数,以将符合条件的a’列数据与符合条件的b’列数据进行group聚集操作得出查询结果。这种列式数据查询引擎执行方式的主要缺点为:要分别调取每一个关系节点上的执行函数,并且将执行每个执行函数得到的符合条件的列数据都会在内存中进行缓存,这样不仅导致了查询速度较慢,并且会占用大量的内存。
所以不管使用火山模型执行引擎或者是列式数据执行引擎都存在数据查询速度较慢的问题。
发明内容
本发明实施例提供了一种数据查询方法、装置及系统,用以解决当前在数据库中查询数据速度较慢的问题。
其具体的技术方案如下:
本发明实施例第一方面提供了一种数据查询方法,包括:
获取用于在数据库中查询数据的查询请求;
将所述查询请求转换为对应的查询关系树,并在预存的关系树集合中确定出与所述查询关系树匹配的关系树,所述预存的关系树集合中包括对不同查询请求转换得到的不同关系树;
根据关系树与关系树类型之间的对应关系,确定与所述匹配的关系树对应关系树类型;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201480036835.0/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置