[发明专利]跳过树形连接在审
| 申请号: | 201380050050.4 | 申请日: | 2013-09-24 | 
| 公开(公告)号: | CN104769576A | 公开(公告)日: | 2015-07-08 | 
| 发明(设计)人: | 托德·L·费尔德赫伊曾 | 申请(专利权)人: | 洛吉奇布洛克斯公司 | 
| 主分类号: | G06F17/00 | 分类号: | G06F17/00;G06F17/30 | 
| 代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 康建峰;韩雪梅 | 
| 地址: | 美国佐*** | 国省代码: | 美国;US | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | |||
| 搜索关键词: | 跳过 树形 连接 | ||
1.一种用于根据关于连接属性集S的连接条件集合对来自数据库中的至少三个表的集合的记录进行连接的方法,所述方法包括:
将所述连接属性S排列为有序序列S0;
将作用域C初始化为空;
识别在所述表的集合中的包括连接属性A的表,所述连接属性A是所述有序序列S0中的第一个;
创建从S0中删掉了所述连接属性A的连接属性的新序列S';
遍历所识别的表中的每个表按照连接属性A的顺序进行迭代,所述迭代基于针对所识别的表中的每个表的树形索引结构,在所述树形索引结构中索引关键字包括按照S0顺序的所识别的表中的所有连接属性;
针对在所述迭代期间定位的所述连接属性的每个匹配值v,通过将“A=v”附加至所述作用域C来创建新作用域Cv;
确定S'是否为空;
基于确定出S'为空,针对每个v输出对应于所述作用域Cv的元组;以及
基于确定出S'不为空,将S0设定为S'并且针对每个作用域Cv,将C设定为Cv并且递归调用所述识别、所述创建、所述迭代、所述附加、所述确定、所述输出以及所述递归调用。
2.根据权利要求1所述的方法,其中,所述有序序列S0为非前缀相干有序序列。
3.根据权利要求1所述的方法,其中,通过所述迭代跳过所述数据库表中的满足过滤条件的行。
4.根据权利要求1所述的方法,还包括建立树形索引结构。
5.根据权利要求1所述的方法,其中,所述树形索引结构为B树结构。
6.根据权利要求1所述的方法,其中,所述树形索引结构为trie结构。
7.根据权利要求1所述的方法,其中,来自数据库表的非连接属性值连同所述元组一起被输出。
8.根据权利要求1所述的方法,其中,采用查询优化器来确定所述有序序列。
9.一种用于根据关于连接属性集S的连接条件集合对来自数据库中的至少三个表的集合的记录进行连接的系统,所述系统包括:
存储器,所述存储器具有计算机可读计算机指令;以及
处理器,所述处理器用于执行所述计算机可读指令以进行下述方法,该方法包括:
将所述连接属性S排列为有序序列S0;
将作用域C初始化为空;
识别在所述表的集合中的包括连接属性A的表,所述连接属性A是所述有序序列S0中的第一个;
创建从S0中删掉了所述连接属性A的连接属性的新序列S';
遍历所识别的表中的每个表按照连接属性A的顺序进行迭代,所述迭代基于针对所识别的表中的每个表的树形索引结构,在所述树形索引结构中索引关键字包括按照S0顺序的所识别的表中的所有连接属性;
针对在所述迭代期间定位的所述连接属性的每个匹配值v,通过将“A=v”附加至所述作用域C来创建新作用域Cv;
确定S'是否为空;
基于确定出S'为空,针对每个v输出对应于所述作用域Cv的元组;以及
基于确定出S'不为空,将S0设定为S'并且针对每个作用域Cv,将C设定为Cv并且递归调用所述识别、所述创建、所述迭代、所述附加、所述确定、所述输出以及所述递归调用。
10.根据权利要求9所述的系统,其中,所述有序序列S0为非前缀相干有序序列。
11.根据权利要求9所述的系统,其中,通过所述迭代跳过所述数据库表中的满足过滤条件的行。
12.根据权利要求9所述的系统,其中,所述方法还包括建立树形索引结构。
13.根据权利要求9所述的系统,其中,所述树形索引结构为B树结构。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于洛吉奇布洛克斯公司,未经洛吉奇布洛克斯公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201380050050.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:利用预定义的查询来过滤视图
 - 下一篇:动态分配网络地址
 





