[发明专利]一种数据查询方法和装置在审
申请号: | 201610298989.8 | 申请日: | 2016-05-06 |
公开(公告)号: | CN107346317A | 公开(公告)日: | 2017-11-14 |
发明(设计)人: | 刘伟;王庆磊 | 申请(专利权)人: | 北京神州泰岳软件股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京市隆安律师事务所11323 | 代理人: | 权鲜枝 |
地址: | 100089 北京市海淀区万*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 查询 方法 装置 | ||
技术领域
本发明涉及数据库技术领域,具体涉及一种数据查询方法和装置。
背景技术
目前,在数据库中查询数据时主要通过编写SQL语言直接进行查询,SQL(Structured Query Language,结构化查询语言)是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。SQL功能强大,使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。
但是,现有技术这种通过SQL语句查询数据库的方式通常会导致查询效率低,查询性能差的问题。例如,使用SQL的关键字or/in进行查询时,如果in中的枚举值过多会出现SQL语句报错,或者当查询的枚举值大于预定值时也会出现数据压力,无法有效完成数据查询。由此可见,现有的数据库查询亟待完善。
发明内容
本发明提供了一种数据查询方法和装置,用以解决现有的数据查询方式存在的查询效率低、性能差的问题。
根据本发明的一个方面,提供了一种数据查询方法,该方法应用于同一事务执行中,包括:
接收数据查询请求;
从数据库相应的普通表中获取查询请求中待查询数据的关键数据,关键数据至少包括能够唯一标识待查询数据的数据;
在数据库的临时表空间中新建事务临时表,并将待查询数据的关键数据插入到事务临时表中;
建立事务临时表和普通表的表连接,利用表连接实现待查询数据的查询。
可选地,在数据库的临时表空间中新建事务临时表包括:
获取数据库的类型,并根据数据库的类型创建相应的事务临时表。
可选地,将待查询数据的关键数据插入到事务临时表中包括:
将关键数据中待查询数据的唯一标识插入到事务临时表的主键对应的位置。
可选地,该方法进一步包括:根据关键数据中待查询数据的唯一标识在相应的普通表中的存储位置,在事务临时表的主键上创建索引,以将待查询数据在相应的普通表中的存储位置信息记录在所述主键对应的字段上。
可选地,建立事务临时表和普通表的表连接包括:
建立事务临时表和普通表之间的等值连接、左连接或右连接。
根据本发明的另一个方面,提供了一种数据查询装置,该装置包括:
事务执行单元,用于接收数据查询请求;
数据获取单元,用于从数据库相应的普通表中获取查询请求中待查询数据的关键数据,关键数据至少包括能够唯一标识待查询数据的数据;
数据插入单元,用于在数据库的临时表空间中新建事务临时表,并将待查询数据的关键数据插入到事务临时表中;
查询实现单元,用于建立事务临时表和普通表的表连接,利用表连接实现待查询数据的查询。
可选地,数据插入单元,具体用于获取数据库的类型,并根据数据库的类型创建相应的事务临时表。
可选地,数据插入单元,具体用于将关键数据中待查询数据的唯一标识插入到事务临时表的主键对应的位置。
可选地,该装置进一步包括:索引创建单元,具体用于根据关键数据中待查询数据的唯一标识在相应的普通表中的存储位置,在事务临时表的主键上创建索引,以将待查询数据在相应的普通表中的存储位置信息记录在所述主键对应的字段上。
可选地,查询实现单元,具体用于建立事务临时表和普通表之间的等值连接、左连接或右连接。
本发明的有益效果是:本发明的技术方案通过从数据库相应的普通表中获取查询请求中待查询数据的关键数据,关键数据至少包括能够唯一标识待查询数据的数据;并将待查询数据的关键数据插入到内存中新建的事务临时表中;建立事务临时表和普通表的表连接,利用表连接实现待查询数据的查询。由于本申请的技术方案是利用内存中的事务临时表与普通表之间的表连接实现的数据查询,从而,一方面避免了现有技术使用SQL语句查询大量数据时频繁访问数据库,给系统的I/O口造成较大压力,提高了数据查询性能,另一方面,也避免了使用SQL语句的关键字查询时枚举值较多的情况下SQL语句报错,或者当查询的枚举值大于预定值时也会出现数据压力,无法有效完成数据查询的问题。
附图说明
图1是本发明一个实施例的一种数据查询方法的流程图;
图2是本发明一个实施例的一种数据查询方法的实现类图;
图3是本发明一个实施例的一种数据查询装置的框图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京神州泰岳软件股份有限公司,未经北京神州泰岳软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610298989.8/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置