数据记录查找方法及装置制造方法及图纸

技术编号:12542955 阅读:59 留言:0更新日期:2015-12-19 11:23
本公开揭示了一种数据记录查找方法及装置,属于数据存储领域。所述方法包括:接收在数据库中查询目标数据记录的指令;从预先设置的地址索引中查询起始查找地址,起始查找地址是存储位置距离目标数据记录最近的一条索引数据记录的地址;从起始查找地址对应的位置开始查找目标数据记录。本公开通过接收在数据库中查询目标数据记录的指令,从预先设置的地址索引中查询起始查找地址,从该起始查找地址开始查找该目标数据记录,预先存储若干条索引数据记录的地址,查找目标数据记录时,只需要确定距离目标数据记录最近的索引数据记录的地址,从该地址对应的位置开始进行逐行查找,从而缩短了目标数据记录的查找时间,提高查找效率。

【技术实现步骤摘要】

本公开涉及数据存储领域,特别涉及一种数据记录查找方法及装置
技术介绍
随着网络应用的不断发展,数据分页的情况也越来越常见。比如,一个用户累计发 布了大量的微博,这些微博无法在同一页内全部显示,此时可以对该用户发布过的微博进 行分页。 在对分页数据进行存储的相关技术中,每一条数据记录都单独分行存储,比如,用 户发表的每一条微博可以作为一条数据记录,且每一条微博在数据库中单独存储为一行; 某一条微博在数据库中的行号可以根据该微博所在的页数以及该微博在该页中的条数确 定,该行号就表示该条微博存储在数据库中的第几行,在数据库中查找该条微博时,从数据 库中的第1行开始逐行扫描,同时记录已经扫描过的行数,直至扫描到该条微博所在的行 号为止。比如,设置微博页面中每一页显示10条微博,某一条微博是第5页中的第3条,则 该微博在数据库中的行号为53,在检索该条微博时,可以从数据库中第1行开始扫描,一直 扫描到第53行,将该第53行中的数据提取为该条微博的数据。 相关技术中的方案每次查找是都需要从数据库中的第一条数据记录开始逐行扫 描,当数据库中的数据记录条数较多时,会影响数据记录的查找效率。
技术实现思路
为了克服相关技术中存在的问题,本公开提供了一种数据记录查找方法及装置。 所述技术方案如下: 根据本公开的第一方面,提供一种数据记录查找方法,所述方法包括: 接收在数据库中查询目标数据记录的指令,所述数据库中存储有至少一条数据记 录; 从预先设置的地址索引中查询起始查找地址,所述起始查找地址是所述数据库中 存储位置距离所述目标数据记录最近的索引数据记录的地址;所述索引数据记录是所述数 据库中,存储地址被所述地址索引所收录的数据记录; 从所述起始查找地址对应的位置开始查找所述目标数据记录。 在本公开的第一方面中,只需要确定距离目标数据记录最近的索引数据记录的地 址,从该地址开始所在的位置进行逐条查找,不需要从第一条数据记录开始查找,从而缩短 了目标数据对象的查找时间,提高查找效率。 可选的,所述至少一条数据记录中的每一条数据记录单独存储为一行,所述地址 索引中存储有索引行号和索引行标识之间的对应关系,所述索引行号是预先指定的行号, 所述索引标识是行号为对应的索引行号的数据记录所在的行的标识; 所述从预先设置的地址索引中查询起始查找地址,包括: 获取所述目标数据记录的行号; 计算与所述目标数据记录的行号最接近的索引行号; 将所述地址索引中,与所述目标数据记录的行号最接近的索引行号对应的索引行 标识获取为所述起始查找地址。 在该可选方案中,通过数据记录的行号进行索引,查找距离目标数据记录最接近 的索引行号,从查找到的该索引行号对应的索引行标识所在的位置开始进行查找,不需要 从第一条数据记录开始查找,从而缩短了目标数据记录的查找时间,提高查找效率。 可选的,所述方法还包括: 在从所述起始查找地址对应的位置开始查找所述目标数据记录之前,确定所述目 标数据记录的行号和与所述目标数据记录的行号最接近的索引行号之间的大小关系; 根据所述大小关系确定查找方向; 所述从所述起始查找地址开始查找所述目标数据记录,包括: 从所述起始查找地址对应的位置开始,按照所述查找方向查找所述目标数据记 录。 在该可选方案中,在确定其实查找地址的同时,还确定查找方向,选择最短的查找 路径进行查找,进一步提高查找效率。 可选的,所述方法还包括: 当所述数据库中各条数据记录的总行数达到或超过指定值时,将所述指定值,以 及行号为所述指定值的数据记录所在的行的标识,对应存储为所述地址索引中的索引行号 和索引行标识。 在该可选的方案中,当数据库中数据记录的数量增加到一定值时,对地址索引进 行扩展,在数据库中的数据扩展的同时,保持查找效率。 可选的,所述方法还包括: 当所述数据库中已经存储的数据记录发生变更时,获取所述索引行号对应在变更 后的数据库中的数据记录所在的行的标识; 将所述地址索引中所述索引行号对应的索引行标识,更新为所述索引行号对应在 变更后的数据库中的数据记录所在的行的标识。 在该可选的方案中,当数据库中的已存储的数据记录发生变更时,对地址索引进 行更新,保证查找的准确性。 根据本公开的第二方面,提供一种数据记录查找装置,其特征在于,所述装置包 括: 指令接收模块,用于接收在数据库中查询目标数据记录的指令,所述数据库中逐 个存储有至少一条数据记录; 地址查询模块,用于从预先设置的地址索引中查询起始查找地址,所述起始查找 地址是所述数据库中存储位置距离所述指令接收模块接收到的目标数据记录最近的索引 数据记录的地址;所述索引数据记录是所述数据库中,存储地址被所述地址索引所收录的 数据记录; 查找模块,用于从所述地址查询模块查询到的起始查找地址对应的位置开始查找 所述目标数据记录。 在本公开的第二方面中,只需要确定距离目标数据记录最近的索引数据记录的地 址,从该地址开始所在的位置进行逐条查找,不需要从第一条数据记录开始查找,从而缩短 了目标数据对象的查找时间,提高查找效率。 可选的,所述至少一条数据记录中的每一条数据记录单独存储为一行,所述地址 索引中存储有索引行号和索引行标识之间的对应关系,所述索引行号是预先指定的行号, 所述索引标识是行号为对应的索引行号的数据记录所在的行的标识; 所述地址查询模块,包括: 行号获取子模块,用于获取所述指令接收模块接收到的目标数据记录的行号; 计算子模块,用于计算与所述行号获取子模块获取到的,所述目标数据记录的行 号最接近的索引行号; 地址获取子模块,用于将所述地址索引中,所述计算子模块计算出的与所述目标 数据记录的行号最接近的索引行号对应的索引行标识获取为所述起始查找地址。 在该可选的方案中,通过数据记录的行号进行索引,查找距离目标数据记录最接 近的索引行号,从查找到的该索引行号对应的索引行标识所在的位置开始进行查找,不需 要从第一条数据记录开始查找,从而缩短了目标数据记录的查找时间,提高查找效率。 可选的,所述装置还包括: 关系确定模块,用于在所述查找模块从所述起始查找地址对应的位置开始查找所 述目标数据记录之前,确定所述指令接收模块接收到的目标数据记录的行号和所述计算子 模块计算出的与所述目标数据记录的行号最接近的索引行号之间的大小关系; 方向确定模块,用于根据所述关系确定模块确定的大小关系确定查找方向; 所述查找模块,用于从所述起始查找地址对应的位置开始,按照所述方向确定模 块确定的查找方向查找所述目标数据记录。 在该可选的方案中,在确定其实查找地址的同时,还确定查找方向,选择最短的查 找路径进行查找,进一步提高查找效率。 可选的,所述装置还包括: 索引存储模块,用于当所述数据库中各条数据记录的总行数达到或超过指定值 时,将所述指定值,以及行号为所述指定值的数据记录所在的行的标识,对应存储为所述地 址索引中的索引行号和索引行标识。 在该可选的方案中,当数据库中的数据记录的数量增加到一定值时,对地址索引 进行扩展,在数据库中的数据扩展的同时,保持查找效率。 可选的,所述装置还包括: 标识获取模块,用于当所述数据库中已经存储的数据记录发生变更时,获取所述 索引行号对应在变更后的数据库中的数本文档来自技高网...

【技术保护点】
一种数据记录查找方法,其特征在于,所述方法包括:接收在数据库中查询目标数据记录的指令,所述数据库中存储有至少一条数据记录;从预先设置的地址索引中查询起始查找地址,所述起始查找地址是所述数据库中存储位置距离所述目标数据记录最近的索引数据记录的地址;所述索引数据记录是所述数据库中,存储地址被所述地址索引所收录的数据记录;从所述起始查找地址对应的位置开始查找所述目标数据记录。

【技术特征摘要】

【专利技术属性】
技术研发人员:沈建荣窦锦帅谭国斌
申请(专利权)人:小米科技有限责任公司
类型:发明
国别省市:北京;11

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

1