タグ

2022年11月7日のブックマーク (1件)

  • ハッシュ結合(hash join)とは

    複数のテーブルを結合するSQLを実行すると、ORACLEはネステッドループ、ハッシュ、マージの3種類のいずれかの結合方法を選択して実行計画を立てます。 ページではハッシュ結合の特徴やパフォーマンスについて記載します。 関連:ハッシュ結合をヒント句で制御する方法 ハッシュ結合の特徴 ハッシュ結合は以下のような順序で結合を行います。 ①オプティマイザが小さいと見積もった表(以下、小規模表)の結合対象となる行を全件読み込み、結合キーをハッシュ関数にかけた結果をハッシュ表と呼ばれるメモリ(UGA)上の領域に格納する ②もう片方の表(以下、大規模表)に対して結合対象となる行を読み込み、結合キーをハッシュ関数にかけて①で作成したハッシュ表に結合可能なデータがあるか確認していく ハッシュ結合には以下のような特徴があります。 ・CBOのみ選択可能 ハッシュ結合はCBOのみ選択可能な結合方法でRBOで実行

    willnet
    willnet 2022/11/07
    “ハッシュ関数をかけた結果からハッシュ表内に結合可能な行があるかどうかは瞬時に判断できる仕組み”