[发明专利]跳过树形连接在审
申请号: | 201380050050.4 | 申请日: | 2013-09-24 |
公开(公告)号: | CN104769576A | 公开(公告)日: | 2015-07-08 |
发明(设计)人: | 托德·L·费尔德赫伊曾 | 申请(专利权)人: | 洛吉奇布洛克斯公司 |
主分类号: | G06F17/00 | 分类号: | G06F17/00;G06F17/30 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 康建峰;韩雪梅 |
地址: | 美国佐*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 跳过 树形 连接 | ||
相关申请的交叉引用
本申请要求于2012年9月27日提交的题为“Leapfrog Tree-Join”的美国临时申请No.61/706,484的权益。该申请的全部内容通过引用合并到本文。
背景技术
本发明大体涉及数据库操作,并且更具体地涉及对关系数据库表的连接操作。
数据库管理系统使得用户可以存储和更新大量信息,同时还支持对该信息的查询。对来自若干表的数据进行组合是关系数据库管理系统在进行数据库查询时所使用的基本操作。在连接操作中,一个或更多个条件指定应该如何使每个参与表中的行相关联以生成查询结果。尽管可以进一步处理连接操作的输出来生成查询结果,但是一个或更多个连接操作的成本在时间和空间二者方面通常是显著的。提出了用于实现连接的若干算法,所述连接包括分类合并连接、嵌套循环连接、索引嵌套循环连接以及散列连接。这些算法通常用于在将更复杂的连接查询分解为成对连接序列的情况下一次连接两个表。
发明内容
实施方式包括一种用于根据关于连接属性集S的连接条件集合对来自数据库中的表的集合的记录进行连接的方法、系统以及计算机程序产品。一方面包括:将连接属性S排列为有序排列S0,以及将作用域C初始化为空。一方面包括:识别在数据库表的集合中的包括连接属性A的表,所述连接属性A是有序序列S0的第一个。一方面包括:创建从S0中删掉了连接属性A的连接属性的新序列S'。一方面还包括:遍历所识别的表中的每个表按照连接属性A的顺序进行迭代,所述迭代基于针对所识别的表中的每个表的树形索引结构,在所述树形索引结构中索引关键字包括所识别的表中的按照S0顺序的所有连接属性。一方面还包括:针对在迭代期间定位的连接属性的每个匹配值v,通过将“A=v”附加至作用域C来创建新作用域Cv。一方面还包括:确定S'是否为空,并且基于确定出S'为空,输出对应于作用域C的元组。一方面还包括:基于确定出S'不为空,将S0设定为S'并且针对每个作用域Cv,将C设定为Cv并且对识别、创建、迭代、添加以及确定进行递归调用。
通过本发明的技术来实现附加特征和优点。在本文中详细地描述了本发明的其他实施方式和方面并且认为本发明的其他实施方式和方面是要求保护的发明的一部分。为了更好地理解具有优点和特征的本发明,参照说明书并参照附图。
附图说明
在说明书的结束部分处的权利要求书中具体指出并且清楚地主张被视为本发明的主题。根据结合附图所做的以下详细描述,本发明的前述及其他特征和优点变得明显,在附图中:
图1描绘了根据实施方式的示例性方法的流程图;
图2描绘了根据实施方式的可以在其上实现跳过树形连接的系统的框图。
具体实施方式
示例性实施方式涉及用于一次计算多个数据库表的连接的新型技术,在本文中将该新型技术称为“跳过树形连接”。跳过树形连接对共享属性的任意数量的表进行同时的同等连接。本文中描述的实施方式获得比成对连接操作的组合更佳的复杂度约束(例如,在输入变得更多时可能需要较少的步骤)。
可以如下进行合并连接算法。作为初始假设,可以考虑都包含属性v的表R1、R2、……、Rr的集合,其中,表按v递增的顺序被物理地分类。通过使用游标扫描每个表来获得表关于属性v的合并连接。在游标Cr处具有最小v值的表R将Cr前移直到Cr处的值至少为在任意游标处的v的最大值。当所有表一致为单个v值时,通过将v与每个表中查询所需的的其他属性值进行组合来生成输出记录。在传统合并连接中,在表中存在具有值v的多个记录会导致针对单个v值的多个输出记录。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于洛吉奇布洛克斯公司,未经洛吉奇布洛克斯公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201380050050.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:利用预定义的查询来过滤视图
- 下一篇:动态分配网络地址