[发明专利]索引表创建方法和装置、目标记录查找方法和装置在审
申请号: | 202210370365.8 | 申请日: | 2022-04-10 |
公开(公告)号: | CN114969026A | 公开(公告)日: | 2022-08-30 |
发明(设计)人: | 谢志峰;裴益川;苗永春;蔡卓然;单洪泷 | 申请(专利权)人: | 上海大象张量纳米科技有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22 |
代理公司: | 上海科律专利代理事务所(特殊普通合伙) 31290 | 代理人: | 袁亚军 |
地址: | 200331 上海市普*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 索引 创建 方法 装置 目标 记录 查找 | ||
本发明提供一种索引表创建方法和装置、目标记录查找方法和装置。索引表创建方法包括:基于数据表的目标字段创建排序表,排序表用于对目标字段的键值进行排序,排序表包括条目编号、键值和键值在数据表中的记录编号;基于排序表创建散列表,散列表中与各个键值对应的行均包括第一指针变量和第二指针变量,第一指针变量存储对应的键值在排序表中第一次出现时的条目编号,第二指针变量存储对应的键值在排序表中最后一次出现时的条目编号;采用排序表中的条目编号字段、记录编号字段和散列表,创建数据表的索引表。采用本发明实施例的方案,即使数据表的目标字段具有大量的重复键值,对其建立的索引表可以在去重后有效处理哈希冲突状况。
技术领域
本发明涉及数据库技术领域,尤其涉及一种索引表创建方法和装置、目标记录查找方法和装置。
背景技术
为实现对数据表特定数据的快速查找,相关技术提出为数据表创建哈希索引。但是,在数据表的目标字段具有大量重复键值的情况下,哈希索引存在哈希冲突的问题,使得哈希索引的效率很低。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本发明提供了一种索引表创建方法和装置、目标记录查找方法和装置。
第一方面,本发明提供一种索引表创建方法,所述方法包括:
基于数据表的目标字段创建排序表,所述排序表用于对所述目标字段的键值进行排序,所述排序表的每一条目均包括条目编号、键值和键值在所述数据表中的记录编号;
基于所述排序表创建散列表,所述散列表中与各个键值对应的行均包括第一指针变量和第二指针变量,所述第一指针变量存储对应的键值在所述排序表中第一次出现时的条目编号,所述第二指针变量存储所述对应的键值在所述排序表中最后一次出现时的条目编号;
采用所述排序表中的条目编号字段、记录编号字段和所述散列表,创建所述数据表的索引表。
可选地,所述基于所述排序表创建散列表,包括:
步骤A:将所述排序表中的第i条目的键值存储至键值存储器,将所述排序表中第i条目的条目编号存储至第一编号存储器和第二编号存储器,i=0;
步骤B:判断所述排序表中第i+1条目的键值与所述键值存储器中的键值是否相同;若是,执行步骤C;若否,执行步骤F;
步骤C:将第i+1条目的条目编号存储至第二编号存储器,使i=i+1;
步骤D:判断i是否等于N-1;若是,执行步骤E;若否,执行步骤B;其中N为所述排序表中条目的的数量;
步骤E:基于散列函数计算所述键值存储器中键值在所述散列表中的对应行,将所述第一编号存储器中条目编号存储在所述对应行的第一指针变量中,将所述第二编号存储器中的条目编号存储在所述对应行的第二指针变量中;
步骤F:基于散列函数计算所述键值存储器中键值在所述散列表中的对应行,将所述第一编号存储器中条目编号存储在所述对应行的第一指针变量中,将所述第二编号存储器中的条目编号存储在所述对应行的第二指针变量中,使i=i+1,存储第i条目的键值至键值存储器,以及存储所述排序表中第i条目的条目编号至第一编号存储器和第二编号存储器;随后执行步骤D。
可选地,在执行步骤A之前,所述方法还包括步骤H:获取所述排序表中的去重后键值的数量,基于去重后键值的数量初始化所述散列表,以及确定所述散列函数。
可选地,在步骤A包括:设置c=0;
步骤E包括E1-E4:
E1:基于散列函数计算键值存储器中键值在散列表中的对应行;
E2:判断散列表中对应行的第一指针变量和/第二指针变量是否已经存储条目编号;若否,执行步骤E3;若是,执行步骤E4;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海大象张量纳米科技有限公司,未经上海大象张量纳米科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210370365.8/2.html,转载请声明来源钻瓜专利网。