1 .一种基于哈希连接的探测方法,其特征在于,包括:
创建所述第一表格的哈希表,所述哈希表包括哈希槽;
确定所述第一表格中各参考列数据在所述哈希表中对应的哈希槽;
根据所述各参考列数据的哈希槽是否冲突选择相应的存储方式依次将各参考列数据
所属的整行数据存储至对应的哈希槽,并根据存储结果设置各哈希槽的冲突标记;
根据所述冲突标记和第二表格中的数据进行哈希探测,所述第二表格与所述第一表格
哈希连接。
2.根据权利要求1所述的方法,其特征在于,根据所述各参考列数据的哈希槽是否冲突
选择相应的存储方式依次将各参考列数据所属的整行数据存储至对应的哈希槽,包括:
若不存在冲突,则将所述第一表格中当前参考列数据所属的整行数据存储于对应哈希
槽的哈希节点的链表中;
或者,若存在冲突,则根据所述第一表格中当前参考列数据与冲突的哈希槽的哈希节
点中已存储的参考列数据是否相同选择对应的存储方式,将当前参考列数据所属的整行数
据存储至对应哈希节点的链表中。
3 .根据权利要求2所述的方法,其特征在于,根据所述第一表格中当前参考列数据与冲
突的哈希槽的哈希节点中已存储的参考列数据是否相同选择对应的存储方式,将当前参考
列数据所属的整行数据存储至对应哈希节点的链表中,包括:
若当前参考列数据与已存储的参考列数据相同,则将所述当前参考列数据所属的整行
数据存储至所述已存储的参考列数据所属的哈希节点的链表中;
若当前参考列数据与已存储的参考列数据不相同,则以顺序存储的方式将所述当前参
考列数据所属的整行数据存储至冲突的哈希槽的其他哈希节点的链表中。
4 .根据权利要求1‑3任一项所述的方法,其特征在于,所述哈希槽的冲突标记表示所述
哈希槽是否为冲突的哈希槽。
5 .根据权利要求4所述的方法,其特征在于,根据所述冲突标记和第二表格中的数据进
行哈希探测,包括:
步骤一:确定所述第二表格中当前匹配列数据的哈希槽;
步骤二:在所述第二表格为所述第一表格的子集的情况下,根据所述冲突标记和当前
数据的哈希槽进行哈希探测;
步骤三:获取所述第二表格中的下一个匹配列数据,并将所述下一个匹配列数据确定
为当前匹配列数据;
重复上述步骤一至步骤三,直至对所述第二表格中的所有匹配列数据都执行完哈希探
测。
6 .根据权利要求5所述的方法,其特征在于,在所述冲突标记表示所述哈希槽不为冲突
的哈希槽的情况下,根据所述冲突标记和当前匹配列数据的哈希槽进行哈希探测,包括:
若所述哈希槽为空,则丢弃所述当前匹配列数据所属的整行数据;
或者,若所述哈希槽不为空,则输出所述哈希槽的哈希节点存储的整行数据和所述当
前匹配列数据所属的整行数据。
7 .根据权利要求5所述的方法,其特征在于,在所述冲突标记表示所述哈希槽为冲突的
哈希槽的情况下,根据所述冲突标记和当前匹配列数据的哈希槽进行哈希探测,包括:
权 利 要 求 书
1/2 页
2
评论