Hash Match Showplan 运算符

Hash Match 运算符通过计算其生成输入中每行的哈希值生成哈希表。HASH:() 谓词以及一个用于创建哈希值的列的列表出现在 Argument 列内。然后,该谓词为每个探测行(如果适用)计算哈希值(使用相同的哈希函数)并在哈希表内查找匹配项。如果存在残留谓词(由 Argument 列中的 RESIDUAL:() 标识),则还须满足此残留谓词,只有这样行才能被视为是匹配项。行为取决于所执行的逻辑操作:

  • 对于联接,使用第一个(顶端)输入生成哈希表,使用第二个(底端)输入探测哈希表。按联接类型规定的模式输出匹配项(或不匹配项)。如果多个联接使用相同的联接列,这些操作将分组为一个哈希组。
  • 对于非重复或聚合运算符,使用输入生成哈希表(删除重复项并计算聚合表达式)。生成哈希表时,扫描该表并输出所有项。
  • 对于 union 运算符,使用第一个输入生成哈希表(删除重复项)。使用第二个输入(它必须没有重复项)探测哈希表,返回所有没有匹配项的行,然后扫描该哈希表并返回所有项。

Hash Match 是一个物理运算符。

Hash Match 运算符图标图形执行计划图标

请参阅

任务

如何显示实际执行计划

参考

Hash Match Team Showplan 运算符
Union Showplan 运算符
Flow Distinct Showplan 运算符
Partial Aggregate Showplan 运算符
Aggregate Showplan 运算符

概念

逻辑运算符和物理运算符引用
了解哈希联接
通过使用 Showplan SET 选项显示执行计划 (Transact-SQL)

帮助和信息

获取 SQL Server 2005 帮助