Hash Match プラン表示操作

Hash Match 操作は、ビルド入力の行ごとにハッシュ値を計算してハッシュ テーブルを作成します。Argument 列に、ハッシュ値の作成に使用される列リストが指定された HASH:() 述語が入ります。次に、該当するプローブ行ごとに同じハッシュ関数を使用してハッシュ値が計算され、ハッシュ テーブル内で一致検索が行われます。残余述語がある場合 (Argument 列内の RESIDUAL:() で特定できます)、行が一致すると見なすには、その残余述語の条件も満たす必要があります。動作は、次に示すように、実行している論理操作によって異なります。

  • すべての結合では、最初 (上部) の入力を使用してハッシュ テーブルを作成し、2 番目 (下部) の入力を使用してハッシュ テーブルを探索します。出力は、結合の種類で指定されているとおりに一致します (または一致しません)。複数の結合が同じ結合列を使用する場合、これらの操作はハッシュ チームにグループ化されます。

  • Distinct 操作または Aggregate 操作の場合、入力を使用してハッシュ テーブルを作成します (重複部分を削除し、集計式を計算します)。ハッシュ テーブルを作成したら、テーブルをスキャンしすべてのエントリを出力します。

  • Union 操作の場合、最初の入力を使用してハッシュ テーブルを作成します (重複部分は削除します)。2 番目の入力 (重複部分はありません) を使用して、ハッシュ テーブルを探索して一致しないすべての行を返します。次に、ハッシュ テーブルをスキャンし、すべてのエントリを返します。

Hash Match は物理操作です。

Hash Match 操作アイコングラフィカルな実行プランのアイコン