预先的要求
- Equi-joins & Natural Joins
Two Stages
Stage 1: 使用某种join key来对关系 R和关系S中的数据进行sort的操作,那么所有有着同样的key的tuple会按先后顺序进行排列
Stage 2: Join Pass:
Merge-scan the sorted partitions
放出匹配的tuples
这是sort merge join的步骤
- 两个page中各自有6条tuple
- maintain两个指针,当r比s大时,将s往后移动,当s比r大时,将r往后一定
- 设置标识mark在s的位置上
- 每当r == s时,将<r和s> 这个key对应的join完后的内容放入结果中,并且advance s的位置,此时是在寻找某一条r所对应的所有的s中的位置。
- 如果r不等于s时,即表示上一个r的id所对应的所有的s都已经添加完成。