join- phase에서 Ri는 크기가 메모리보다 작지만 si는 메모리보다 크다고 가정한 것이다. 둘다 메모리보다 한참 작으면 둘다 메모리에 올릴 수 있다. Nested loop join때와 비슷한 상황이다.
만약 둘다 메모리보다 크다면 partition을 또 해야한다.
R0와 S1에서는 같은 값이 나올 수가 없다. 따라서 R0와 S0만 비교한다.
R과 S중 하나라도 메모리에 다 넣기 위해서는 위의 조건을 만족해야한다.
Partition phase에서 저렇게 나오는 것은 각각 한번씩 읽고 써야하기 때문이다.
join에서는 한번만 읽으면된다.
|R| * reduction factor (RF) 는 ideal case이다. 예를 들어 전체에서 1%만 조건을 만족한다고 할때 1%로 예상하는 것이다.
여기서 강의에서 쓰여진 ppt랑 받은 ppt랑 조금 차이난다.
첫번째를 기준으로 정렬한다?
"A=5 AND C=3" 같은 경우 C가 정렬되어 있지 않다. 이러면 A만이라도 쓸 수 있다. A=6인 것에 대해 C를 전부 스캔하면된다.