具有不等式条件的合并连接算法

时间:2012-02-24 05:06:52

标签: database algorithm oracle

我读到Oracle支持使用不等式连接谓词进行合并连接。 是否有在线参考用于实现此类连接的算法? 如果有人知道怎么做,你能回答吗?

2 个答案:

答案 0 :(得分:1)

This正是您要找的。

  

7.4排序合并连接

     

排序合并连接可以连接来自两个独立源的行。在   通常,散列连接比排序合并连接执行得更好。然而,   如果两者都排序,则排序合并连接可以比散列连接执行得更好   存在以下条件:

     

对行源进行排序。不需要排序操作。然而,   如果排序合并连接涉及选择较慢的访问方法(一个   索引扫描而不是全表扫描),然后使用的好处   排序合并可能会丢失。

     

当两个表之间的连接条件时,排序合并连接很有用   是一个不等式条件,例如<,< =,>或> =。排序合并连接   比大型数据集的嵌套循环连接执行得更好。哈希加入   需要一个平等的条件。

     

在合并连接中,没有驱动表的概念。加入   包括两个步骤:

     

排序联接操作

     

两个输入都按连接键排序。

     

合并联接操作

     

合并排序后的列表。

     

如果输入按连接列排序,则排序连接操作   不对该行源执行。但是,排序合并连接   总是为右侧创建一个可定位的排序缓冲区   加入,以便它可以寻找回到最后一场比赛的情况   重复的连接键值出现在连接的左侧。

答案 1 :(得分:-1)

这里有一个例子:http://www.serkey.com/oracle-skyline-query-challenge-bdh859.html

这是你想要做的吗? (关键词是“软合并”)