nested loop join
1) 选择 小的 集合作为主循环,去check在另一个集合是否存在
2)另一个集合需要有index,O(n*lgm),否则是O(n*m)
merge join
1) 两个集合是排序的
2)比较两个list当前值,小的那一边推进指针,相等则match,同时推进。O (n + m)
hash join
1)选择小的集合建hash table
2) scan 另一集合,看是否在hash table中。
nested loop 适合其中一个集合较小,另一个集合有index
merge join 适合 连接字段上有index 也就是有序的,一般是最快的,
hash join 是一般的两个集合找相同元素的常用方案。