Hash Match プラン表示操作
Hash Match 操作は、ビルド入力の行ごとにハッシュ値を計算してハッシュ テーブルを作成します。Argument 列に、ハッシュ値の作成に使用される列リストが指定された HASH:() 述語が入ります。次に、該当するプローブ行ごとに同じハッシュ関数を使用してハッシュ値が計算され、ハッシュ テーブル内で一致検索が行われます。残余述語がある場合 (Argument 列内の RESIDUAL:() で特定できます)、行が一致すると見なすには、その残余述語の条件も満たす必要があります。動作は、次に示すように、実行している論理操作によって異なります。
- すべての結合では、最初 (上部) の入力を使用してハッシュ テーブルを作成し、2 番目 (下部) の入力を使用してハッシュ テーブルを探索します。出力は、結合の種類で指定されているとおりに一致します (または一致しません)。複数の結合が同じ結合列を使用する場合、これらの操作はハッシュ チームにグループ化されます。
- Distinct 操作または Aggregate 操作の場合、入力を使用してハッシュ テーブルを作成します (重複部分を削除し、集計式を計算します)。ハッシュ テーブルを作成したら、テーブルをスキャンしすべてのエントリを出力します。
- Union 操作の場合、最初の入力を使用してハッシュ テーブルを作成します (重複部分は削除します)。2 番目の入力 (重複部分はありません) を使用して、ハッシュ テーブルを探索して一致しないすべての行を返します。次に、ハッシュ テーブルをスキャンし、すべてのエントリを返します。
Hash Match は物理操作です。
グラフィカルな実行プランのアイコン
参照
処理手順
関連項目
Hash Match Team プラン表示操作
Union プラン表示操作
Flow Distinct プラン表示操作
Partial Aggregate プラン表示操作
Aggregate プラン表示操作
概念
論理操作と物理操作のリファレンス
ハッシュ結合について
プラン表示 SET オプションを使用した実行プランの表示 (Transact-SQL)