[发明专利]数据处理方法及设备有效
申请号: | 201310616678.8 | 申请日: | 2013-11-27 |
公开(公告)号: | CN104679757B | 公开(公告)日: | 2018-10-12 |
发明(设计)人: | 刘辉军;刘亚光;叶涛 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京林达刘知识产权代理事务所(普通合伙) 11277 | 代理人: | 刘新宇 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 探测表 哈希连接 数据处理 哈希 构建 查询效率 哈希计算 连续访问 哈希表 算法 存储 | ||
本发明涉及一种数据处理方法及设备,其中,该方法包括:将对应于探测表的数据分别进行哈希计算,得到哈希值,根据所得到的哈希值,将所述数据进行重组并存储到所述探测表中,其中,所述探测表为欲进行哈希连接中的两个表中数据较多的表;利用哈希连接算法将所述探测表中的数据与构建表中的数据进行连接,其中,所述构建表为欲进行哈希连接中的两个表中数据较少的表。本发明实施例提供的数据处理方法及设备,能够让哈希表中相同哈希值的区域连续访问,提高了CPU cache命中率,从而提高了查询效率。
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据处理方法及设备。
背景技术
数据库如SQL(Structured Query Language,结构化查询语言)中的连接语句可以将该数据库中的两个或多个表组合起来。哈希连接(hash join)算法是大多数数据库中很常用的连接算法,可以利用哈希表实现连接。
和归并连接(merge join)算法和循环嵌套连接(nestloop join)算法这两种常用的连接算法相比,哈希连接算法由于仅需对两张表即构建表和探测表各扫描一次而效率较高。然而,由于探测表中元组的哈希值随机分布,相邻数据例如元组的哈希值可能相差很大,这样,当按顺序对探测表中的每个数据在其对应的构建表上查找匹配时,相邻数据在构建表中对应的哈希值很可能相差很多,相当于是对构建表的随机访问,因此,哈希连接算法可能导致CPU cache(高速缓冲存储器)命中率较低。
由于CPU cache容量较小,只缓存最近使用过的数据,因此,这种对构建表的随机访问难以直接命中CPU cache缓存的数据。这样,传统的哈希连接算法无法利用到CPUcache的速度优势,只能频繁的从内存获取数据。虽然内存支持随机访问,但速度和从CPUcache直接获取有数量级上的差异,导致查询效率较低。
发明内容
有鉴于此,本发明要解决的技术问题是如何提高哈希连接算法的查询效率。
为了解决上述技术问题,根据本发明一实施例,提供了一种数据处理方法,包括:
将对应于探测表的数据分别进行哈希计算,得到哈希值,根据所得到的哈希值,将所述数据进行重组并存储到所述探测表中,其中,所述探测表为欲进行哈希连接中的两个表中数据较多的表;
利用哈希连接算法将所述探测表中的数据与构建表中的数据进行连接,其中,所述构建表为欲进行哈希连接中的两个表中数据较少的表。
对于上述数据处理方法,在一种可能的实现方式中,所述将对应于探测表的数据分别进行哈希计算,得到哈希值,根据所得到的哈希值,将所述数据进行重组并存储到所述探测表中,包括:
在所述探测表中的数据存入数据库时,对待存入所述探测表中的数据分别进行哈希计算,得到哈希值,根据所得到的哈希值,将所述数据进行重组并存储到所述探测表中。
对于上述数据处理方法,在一种可能的实现方式中,所述将对应于探测表的数据分别进行哈希计算,得到哈希值,根据所得到的哈希值,将所述数据进行重组并存储到所述探测表中,包括:
在所述探测表首次进行哈希连接时,对所述探测表中的数据分别进行哈希计算,得到哈希值,根据所得到的哈希值,将所述数据进行重组并存储到所述探测表中。
对于上述数据处理方法,在一种可能的实现方式中,所述将对应于探测表的数据分别进行哈希计算,得到哈希值,根据所得到的哈希值,将所述数据进行重组并存储到所述探测表中,包括:
将对应于所述探测表的数据分别进行哈希计算,得到哈希值,根据所得到的哈希值,将哈希值相同的所述数据在所述探测表中相邻存储。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310616678.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:用于车辆的可变进气系统
- 下一篇:在无线通信系统中配置定时器的方法和设备