一种用于数据库的表的批量读取方法、装置和系统制造方法及图纸

技术编号:10668771 阅读:192 留言:0更新日期:2014-11-20 13:57
本发明专利技术公开了一种用于数据库的表的批量读取方法、装置和系统,所述方法包括如下步骤:接收对数据库的表的批量读取请求,其中,所述表包括多条数据记录,所述批量读取请求包括:待读取的总数据记录的条数、读取所述总数据记录所需的总读取次数、以及待读取的起始数据记录的主键值;根据所述批量读取请求,生成所述数据库的查询语句,其中,所生成的查询语句的数目等于总读取次数,并且在每条查询语句中利用待读取的总数据记录的各个主键值对总读取次数的取模运算来选择该条查询语句将读取的数据记录;利用所生成的查询语句,对所述数据库的所述表进行读取操作。通过本发明专利技术,可以减少对数据库系统中的海量数据进行读取所耗费的时间。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种用于数据库的表的批量读取方法、装置和系统,所述方法包括如下步骤:接收对数据库的表的批量读取请求,其中,所述表包括多条数据记录,所述批量读取请求包括:待读取的总数据记录的条数、读取所述总数据记录所需的总读取次数、以及待读取的起始数据记录的主键值;根据所述批量读取请求,生成所述数据库的查询语句,其中,所生成的查询语句的数目等于总读取次数,并且在每条查询语句中利用待读取的总数据记录的各个主键值对总读取次数的取模运算来选择该条查询语句将读取的数据记录;利用所生成的查询语句,对所述数据库的所述表进行读取操作。通过本专利技术,可以减少对数据库系统中的海量数据进行读取所耗费的时间。【专利说明】一种用于数据库的表的批量读取方法、装置和系统
本专利技术涉及计算机
,尤其涉及一种用于数据库的表的批量读取方法、装 置和系统。
技术介绍
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距 今五十年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,对数据库的数据 的管理方式不再仅仅是存储和管理数据,而是转变成符合多种多样的数据库应用的需要的 综合数据管理方式。数据库有很多种类型,简单类型的数据库例如是存储有各种数据的表 格,复杂类型的数据库例如是能够进行海量数据存储的大型数据库系统。当前,上述大型数 据库系统的应用是数据库系统的开发、研究领域的热点。 在针对大型数据库系统开发软件应用时,经常需要把大型数据库中的海量数据读 取到内存中。由于所述海量数据的数目过大,考虑到网络带宽和内存容量的限制,结果导致 很难一次性把所有数据都读出来。通常,现有技术的解决方法是先对数据库的主键进行排 序,随后根据所述主键对所需的海量数据进行批量读取,也就是说每次读取海量数据中的 一部分,通过多次读取来逐步读取全部所需的数据。然而,这种现有技术的解决方法存在着 数据读取所消耗的时间较长的问题。
技术实现思路
有鉴于此,本专利技术提供一种改进的用于数据库的表的批量读取方法、装置和系统, 来解决以上
技术介绍
部分提到的技术问题。 -种用于数据库的表的批量读取方法,所述方法包括如下步骤: 接收对数据库的表的批量读取请求,其中,所述表包括多条数据记录,所述批量读 取请求包括:待读取的总数据记录的条数、读取所述总数据记录所需的总读取次数、以及待 读取的起始数据记录的主键值; 根据所述批量读取请求,生成所述数据库的查询语句,其中,所生成的查询语句的 数目等于总读取次数,并且在每条查询语句中利用待读取的总数据记录的各个主键值对总 读取次数的取模运算来选择该条查询语句将读取的数据记录; 利用所生成的查询语句,对所述数据库的所述表进行读取操作。 对应地,本专利技术还提出了一种用于数据库的表的批量读取装置,所述装置包括: 接收模块,用于接收对数据库的表的批量读取请求,其中,所述表包括多条数据记 录,所述批量读取请求包括:待读取的总数据记录的条数、读取所述总数据记录所需的总读 取次数、以及待读取的起始数据记录的主键值; 查询语句生成模块,用于根据所述批量读取请求,生成所述数据库的查询语句,其 中,所生成的查询语句的数目等于总读取次数,并且在每条查询语句中利用待读取的总数 据记录的各个主键值对总读取次数的取模运算来选择该条查询语句将读取的数据记录; 读取模块,用于利用所生成的查询语句,对所述数据库的所述表进行读取操作。 对应地,本专利技术还提出了一种用于数据库的表的批量读取系统,包括服务器和通 过网络与所述服务器相连接的客户端,所述服务器包括: 接收模块,用于从所述客户端接收对数据库的表的批量读取请求,其中,所述表包 括多条数据记录,所述批量读取请求包括:待读取的总数据记录的条数、读取所述总数据记 录所需的总读取次数、以及待读取的起始数据记录的主键值; 查询语句生成模块,用于根据所述批量读取请求,生成所述数据库的查询语句,其 中,所生成的查询语句的数目等于总读取次数,并且在每条查询语句中利用待读取的总数 据记录的各个主键值对总读取次数的取模运算来选择该条查询语句将读取的数据记录; 读取模块,用于利用所生成的查询语句,对所述数据库的所述表进行读取操作并 将所读取的数据记录发送给所述客户端。 本专利技术提出的用于数据库的表的批量读取方法、装置和系统通过根据批量读取请 求来生成用于数据库的特定查询语句,减少了对数据库系统中的海量数据进行读取所耗费 的时间。 【专利附图】【附图说明】 图1是根据本专利技术第一实施例的用于数据库的表的批量读取方法的实现流程示 意图; 图2是在采用现有的用于数据库的表的批量读取方法读取10万条数据记录的情 况下每次读取操作所耗时间的分布示意图; 图3是在利用现有的用于数据库的表的批量读取方法读取872477条数据记录的 情况下每次读取操作所耗时间的分布示意图; 图4是在利用本专利技术第一实施例的用于数据库的表的批量读取方法读取10万条 数据记录的情况下每次读取操作所耗时间的分布示意图; 图5是在利用本专利技术第一实施例的用于数据库的表的批量读取方法读取872477 条数据记录的情况下每次读取操作所耗时间的分布示意图; 图6是根据本专利技术第二实施例的用于数据库的表的批量读取装置的结构示意图。 图7是根据本专利技术第三实施例的用于数据库的表的批量读取系统的结构示意图。 【具体实施方式】 下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描 述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便 于描述,附图中仅示出了与本专利技术相关的部分而非全部内容。 在图1中示出了本专利技术的第一实施例。 图1为根据本专利技术第一实施例的用于数据库的表的批量读取方法的实现流程 1〇〇,该实现流程1〇〇详述如下: 在步骤101中,接收对数据库的表的批量读取请求。 在第一实施例中,托管数据库的服务器可以直接从本地读取数据库工程师预先提 供的批量读取请求语句或文档,或者可以通过有线网络或者无线网络远程地读取其它位置 (例如客户端位置)的批量读取请求语句或文档。其中,所述数据库的表包括多条数据记录, 每条所述记录包含一个或多个字段;而所述批量读取请求包括但不限于:待读取的总数据 记录的条数、读取所述总数据记录所需的总读取次数、以及待读取的起始数据记录的主键 值。其中,所述待读取的总数据记录的条数也就是本次批量读取请求将从数据库的所述表 中读取的总的数据记录的条数;所述总读取次数也就是在读取上述条数的总的数据记录的 情况下需要花费的读取次数;而所述待读取的起始数据记录的主键值也就是在所述数据库 的表中自其开始读取操作的数据记录的主键值。 在本实施例中,上述无线网络包括但不限于基于3G技术、基于WiFi技术、基于蓝 牙技术、基于WiMAX技术、基于Zigbee技术、基于UWB (ultra wideband)技术或者基于其 它未来将开发的无线技术的无线网络。 在步骤102中,根据批量读取请求,生成数据库的查询语句。 在第一实施例中,托管数据库的服本文档来自技高网
...

【技术保护点】
一种用于数据库的表的批量读取方法,其特征在于,所述方法包括如下步骤:接收对数据库的表的批量读取请求,其中,所述表包括多条数据记录,所述批量读取请求包括:待读取的总数据记录的条数、读取所述总数据记录所需的总读取次数、以及待读取的起始数据记录的主键值;根据所述批量读取请求,生成所述数据库的查询语句,其中,所生成的查询语句的数目等于总读取次数,并且在每条查询语句中利用待读取的总数据记录的各个主键值对总读取次数的取模运算来选择该条查询语句将读取的数据记录;利用所生成的查询语句,对所述数据库的所述表进行读取操作。

【技术特征摘要】

【专利技术属性】
技术研发人员:邹维
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1