表の結合方法

この記事ではOracle Databaseにおける表の結合方法を解説します。

 表の結合方法

SQLを実行するうえで負荷の高い処理となるのが表の結合処理です。

表の結合方法は下記の2つが存在します。

・ネステッドループ結合

・ハッシュ結合

この2つから適切な表の結合方法を選択することでSQLの処理パフォーマンスは向上します。


 ネステッドループ結合

結合の基準となる外部表(テーブルA)から1行レコードを取り出し、条件に合うレコードを内部表(テーブルB)から検索して結合する方法です。

最初の1行を返すまでが速いため、オンライン処理のような少数の結果を返す処理に向いています。


 ハッシュ結合

最初に外部表を読み込み、結合キーのハッシュ表をPGAに作成します。

そして、そのハッシュ表をもとに内部表を結合していく方式です。

ハッシュ表を作成するのに時間がかかるため、最初の1行を返すまでは時間がかかりますが、それ以降の処理は高速で行われます。

そのため、大量のレコードを扱うバッチ処理や帳票出力処理に向いています。