[发明专利]一种数据库的索引文件建立方法及检索方法在审
申请号: | 201711127179.7 | 申请日: | 2017-11-15 |
公开(公告)号: | CN107862061A | 公开(公告)日: | 2018-03-30 |
发明(设计)人: | 刘亚歌;杨宁 | 申请(专利权)人: | 深圳市华讯方舟软件信息有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 深圳鼎合诚知识产权代理有限公司44281 | 代理人: | 彭家恩 |
地址: | 518000 广东省深圳市宝*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 索引 文件 建立 方法 检索 | ||
技术领域
本发明涉及数据存储和检索领域。
背景技术
传统检索方法是对索引和查询字串按照正则表达式或字典序比大小的方式进行检索。在面对列少行多的瘦高型数据表的情景下,传统方法会耗费大量的CPU时间在Byte.CompareTo操作上,在面对海量数据的情况下,简单的查询也会消耗很长的时间。
发明内容
针对上述问题,本申请提供一种数据库的索引文件建立方法及检索方法。
根据第一方面,一种实施例中提供一种数据库的索引文件建立方法,包括:
选取数据表的若干个表字段;
对于每一个存储的数据,对该数据在所述若干个表字段下的内容值分别做哈希计算处理,得到该数据在这些表字段下各内容值的哈希值;
将该数据在这些表字段下各内容值以及它们的哈希值编入索引;
每个存储的数据对应一个索引,这些索引构成所述索引文件。
在一实施例中,将所述这些表字段下的内容值的哈希值编入索引的前部分,将所述这些表字段下的内容值编入索引的后部分。
在一实施例中,所述得到该数据在这些表字段下各内容值的哈希值,是得到该数据在这些表字段下各内容值的预设长度的哈希值。
在一实施例中,表字段下的内容值的哈希值的预设长度小于该表字段的长度。
在一实施例中,所述选取数据表的若干个表字段,包括选取数据表的若干个关键或常用的表字段。
根据第二方面,一种实施例中提供一种数据库的检索方法,包括:
读取检索条件;
遍历索引文件中的索引;
遍历到任一索引时,先比较检索条件与该索引所包含的哈希值是否匹配;
若检索条件与该索引所包含的哈希值不匹配,则继续遍历下一个索引;若检索条件与该索引所包含的哈希值匹配,则再比较检索条件与该索引所包含的表字段下的内容值是否匹配;
若检索条件与该索引所包含的表字段下的内容值不匹配,则继续遍历下一个索引;若检索条件与该索引所包含的表字段下的内容值匹配,则获取该条索引所对应的数据。
在一实施例中,所述检索条件包括至少包括被查询的内容值;
所述检索方法还包括:计算检索条件中被查询的内容值的哈希值;
所述比较检索条件与该索引所包含的哈希值是否匹配,包括:比较被查询的内容值的哈希值与该索引所包含的哈希值是否匹配;
所述比较检索条件与该索引所包含的表字段下的内容值是否匹配,包括:比较被查询的内容值与该索引所包含的表字段下的内容值是否匹配;
在所述获取该条索引所对应的数据时,还将获取的数据复制到一结果集中,并继续遍历下一索引。
在一实施例中,所述检索条件还可以包括被查询的内容值所属的表字段、被查询的内容值及其计算得到的哈希值在索引中的位置中的至少一者。
在一实施例中,索引文件中的一个索引对应一个存储的数据,任一索引由该其对应的数据在所选取的表字段下各内容值以及它们的哈希值构成。
根据第三方面,一种实施例中提供一种计算机可读存储介质,其特征在于,包括程序,所述程序能够被处理器执行以实现如权利要求1-9中任一项所述的方法。
依据上述实施例的数据库的索引文件建立方法及检索方法、计算机可读存储介质,任一索引由该其对应的数据在所选取的表字段下各内容值以及它们的哈希值构成,使得可以在检索遍历索引时,先与索引所包含的哈希值进行匹配,若匹配成功,再索引所包含的表字段下的内容值匹配,使得检索比较高效;进一步地,由于索引中表字段下的内容值的哈希值的预设长度小于该表字段的长度,从而相比传统方法可以有效地减少匹配的运算量,提高查询和检索效率。
附图说明
图1为一种实施例的数据库的索引文件建立方法的流程图;
图2为一种实施例的数据库的检索方法的流程图。
具体实施方式
下面通过具体实施方式结合附图对本发明作进一步详细说明。其中不同实施方式中类似元件采用了相关联的类似的元件标号。在以下的实施方式中,很多细节描述是为了使得本申请能被更好的理解。然而,本领域技术人员可以毫不费力的认识到,其中部分特征在不同情况下是可以省略的,或者可以由其他元件、材料、方法所替代。在某些情况下,本申请相关的一些操作并没有在说明书中显示或者描述,这是为了避免本申请的核心部分被过多的描述所淹没,而对于本领域技术人员而言,详细描述这些相关操作并不是必要的,他们根据说明书中的描述以及本领域的一般技术知识即可完整了解相关操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市华讯方舟软件信息有限公司,未经深圳市华讯方舟软件信息有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711127179.7/2.html,转载请声明来源钻瓜专利网。