Take me away.

ジョインアルゴリズム

最終更新:

foreign_blue

- view
管理者のみ編集可

Hashed loops join

  1. outer table を適当な大きさに分割する
  2. 1つの分割からメモリ上にハッシュ表を構築
  3. inner table のレコードをハッシュし、ハッシュ表にあるやつを結合
  4. つぎの分割ファイルについて繰り返す
各分割について、innser table の全レコードがスキャンされる 

GRACE Hash-Join

2フェーズからなる (2種類のハッシュを使う)
  • フェーズ1(分割フェーズ)
    • R と S をハッシュ関数1で分割し、それぞれをディスクに書き込む
  • フェーズ2(結合フェーズ)
    • R の 分割ファイルをディスクから読み、各レコードに対してハッシュ関数2を適用し、メモリ上にハッシュ表を構築する
    • 対応する S の 分割ファイルのレコードをハッシュ関数2でハッシュし、先のハッシュ表に見つかれば結果を生成する
目安箱バナー