[发明专利]一种处理连接查询的方法及装置有效
| 申请号: | 201610797295.9 | 申请日: | 2016-08-31 |
| 公开(公告)号: | CN107784030B | 公开(公告)日: | 2020-04-28 |
| 发明(设计)人: | 王振华 | 申请(专利权)人: | 华为技术有限公司 |
| 主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/245 |
| 代理公司: | 北京中博世达专利商标代理有限公司 11274 | 代理人: | 申健 |
| 地址: | 518129 广东*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 处理 连接 查询 方法 装置 | ||
1.一种处理连接查询的方法,其特征在于,包括:
确定频繁表组合,所述频繁表组合为在历史查询记录中的出现频率大于预设值的表组合,所述表组合包括连接键以及通过连接键进行连接的表;
根据所述频繁表组合中的连接键信息创建簇索引,所述簇索引中索引列的数量与所述频繁表组合中连接键的数量相同,所述簇索引用于指示所述频繁表组合中索引列值相同的记录的存储位置;
根据所述簇索引中的索引列进行洗牌操作,将索引列值相同的记录集中存放在至少一个数据块中,以形成所述频繁表组合对应的表簇,所述索引列值相同的记录为通过所述连接键进行连接的表中的记录。
2.根据权利要求1所述的处理连接查询的方法,其特征在于,在所述根据所述簇索引中的索引列进行洗牌操作,将索引列值相同的记录集中存放在至少一个数据块中之后,所述方法还包括:
接收查询请求,所述查询请求中包含待查询表组合;
查找所述待查询表组合对应的待查询表簇;
分别将所述待查询表簇对应的节点所包含的每个数据块中索引列值的哈希值相同的记录划分至一个分桶中;
将所述待查询表簇中所有数据块中相同分桶中的记录传输至同一数据节点中。
3.根据权利要求2所述的处理连接查询的方法,其特征在于,所述确定频繁表组合,包括:
从所述历史查询记录中提取表组合,生成表组合集合;
从所述表组合集合中筛选出出现频率大于预设值的表组合;
从出现频率大于预设值的表组合中删除冗余表组合,确定剩余的表组合为频繁表组合。
4.根据权利要求3所述的处理连接查询的方法,其特征在于,所述从出现频率大于预设值的表组合中删除冗余表组合,包括:
当存在包含的表相同,但是连接键不同的至少两个表组合时,保留连接键最多的表组合;
当存在两个表组合所包含的连接键相同,且一个表组合中的表组成的集合是另一个表组合中表组成的集合的子集时,删除包含表较少的表组合;
当存在相同表包含于至少两个表组合中时,只将所述相同表保留于所述至少两个表组合中出现频率最高的一个表组合中。
5.根据权利要求1至4任一项所述的处理连接查询的方法,其特征在于,所述根据所述簇索引中的索引列进行洗牌操作,将索引列值相同的记录集中存放在至少一个数据块中,包括:
当包含同一个索引列值的记录的总大小达到一个数据块的存储空间大小的第一预设比例,且未超过一个数据块的存储空间大小时,将所述包含同一个索引列值的记录存储在一个数据块中;
当包含同一个索引列值的记录的总大小超过一个数据块的存储空间大小时,将所述包含同一个索引列值的记录存储在多个数据块中;
当包含同一个索引列值的记录的总大小小于一个数据块的存储空间大小的第二预设比例时,将多个所述包含同一个索引列值的记录存储在一个数据块中。
6.根据权利要求1或2所述的处理连接查询的方法,其特征在于,表组合的表示形式为:
TG=(tab1,...,tabi,...,tabN)key=(key1,...,keyj,...,keyM)
其中,tabi为表组合中的第i张表,keyj为第j个连接键,N为表组合中表的个数,M为表组合中连接键的个数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610797295.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种高弹性导电纤维及其制备方法
- 下一篇:一种复合弹性纤维及其制备方法





