• システム開発に関わる内容をざっくりと書いていく

結合種類(JoinType)

Nested Loop(ネステッドループ結合):

外側テーブル1行ごとに内側テーブルを1周ループしながら結合する方法。外側テーブルの行数が少なく、内側テーブルにインデックスがある場合に処理が高速になる。

Merge Join(マージ結合):

2つのテーブルを結合キーでソート後、順番に突き合わせて結合する方法。ソートに時間がかかる場合は有効な方法ではない。結合キーが主キーである、または結合キーにインデックスを定義することでソート済みの状態を突き合わせることになるため、処理が高速になる。大きなテーブル同士を結合する場合に有効な方法。

Hash Join(ハッシュ結合):

内側テーブルの結合キーでハッシュを作成し、ハッシュと外側テーブルの行を突き合わせて結合する方法。ハッシュはメモリに作成するため、一度作成してしまえば、高速に結合できる。ただし、ハッシュがメモリサイズより大きくなってしまう場合は、ファイルアクセスが発生するため処理が遅くなる。比較的小さなテーブルと大きなテーブルを結合する場合に有効な方法。