この記事ではOracle Databaseにおける表の結合方法を解説します。
表の結合方法
SQLを実行するうえで負荷の高い処理となるのが表の結合処理です。
表の結合方法は下記の2つが存在します。
・ネステッドループ結合
・ハッシュ結合
この2つから適切な表の結合方法を選択することでSQLの処理パフォーマンスは向上します。
ネステッドループ結合
結合の基準となる外部表(テーブルA)から1行レコードを取り出し、条件に合うレコードを内部表(テーブルB)から検索して結合する方法です。
最初の1行を返すまでが速いため、オンライン処理のような少数の結果を返す処理に向いています。
ハッシュ結合
最初に外部表を読み込み、結合キーのハッシュ表をPGAに作成します。
そして、そのハッシュ表をもとに内部表を結合していく方式です。
ハッシュ表を作成するのに時間がかかるため、最初の1行を返すまでは時間がかかりますが、それ以降の処理は高速で行われます。
そのため、大量のレコードを扱うバッチ処理や帳票出力処理に向いています。