我读到 Oracle 支持带有不等式连接谓词的合并连接。
是否有在线参考用于实现此类连接的算法?
如果有人知道该怎么做,你能回答吗?
This http://docs.oracle.com/cd/E16655_01/server.121/e15858/tgsql_join.htm#TGSQL94691这就是您正在寻找的。
7.4 排序合并连接
排序合并联接可以联接来自两个独立源的行。在
一般来说,散列连接比排序合并连接性能更好。然而,
如果两者都满足,则排序合并连接可以比散列连接执行得更好
存在以下条件:
行源已排序。不需要排序操作。然而,
如果排序合并连接涉及选择较慢的访问方法(
索引扫描(而不是全表扫描),那么使用的好处
排序合并可能会丢失。
当两个表之间的连接条件存在时,排序合并连接很有用
是不等式条件,例如 或 >=。对合并连接进行排序
对于大型数据集,其性能优于嵌套循环连接。哈希连接
需要一个平等的条件。
在合并连接中,没有驱动表的概念。加入
包括两个步骤:
排序连接操作
两个输入都按连接键排序。
合并连接操作
排序后的列表被合并。
如果输入按连接列排序,则进行排序连接操作
不对该行源执行。然而,排序合并连接
总是为右侧创建一个可定位的排序缓冲区
加入,以便在以下情况下可以返回到最后一个匹配项:
重复的连接键值来自连接的左侧。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)