SMJ合并匹配记录的方法是,设结果集set1,set2内有已排序记录
set: 1 ,1,2,2,3,4,,6
=(做相等的smj)
set2: 2,2,3,3,4,5,6,6
装载排好序的两个结果集中的第一个 lowest col 数据。然后比较大小,
如果相等的话 就做笛卡尔积,然后把结果放到 输出缓存中。
如果假设set1的 lowest col比 set2的lowest col要小的话,那么就把set1的lowet col 数据丢弃掉。然后读取下一个loweset col 数据集(一定比上一个数据大)。
然后比较如果相等的话 就再做笛卡尔积,然后要把结果放到缓存中,如果缓存满了就flush,输出到客户端。
如果这时set2的lowest col 小了,那么久丢弃掉set2的 lowest col,然后要去读取 set2中 的下一个lowest col,然后要做比较。
直到两边的数据都弄完了才行。 |
|