列上的“PROBE”功能可能导致表扫描

时间:2014-09-19 07:18:38

标签: sql sql-server-2008

我使用Idea的SQL Doctor对我的数据库。它在"查询优化"中生成报告。类别我发现"功能" PROBE"列上可能导致表扫描"。工具提供了链接http://sqldoctor.idera.com/query-optimization/implicit-conversion-recommendation/,但我无法找到与PROBE相关的任何内容。

如果有人知道它代表什么,我在哪里可以找到它的具体细节。

1 个答案:

答案 0 :(得分:2)

我通常不喜欢做所有链接的答案,但你要求"它代表什么以及[你可以]找到它的具体细节。"

这是一个很好的摘要说明:Probe Residual on Hash Match

以下是Microsoft的长篇解释:Interpreting Execution Plans Containing Bitmap Filters

我认为这可能是最有帮助的:Probe Residual when you have a Hash Match – a hidden cost in execution plans

这也是我的两分钱。在没有看到您的查询,表格或执行计划的情况下,我主要猜测,但我会说,您在文档中被定向到该页面这一事实表明您正在进行需要隐式转换的连接。由于PROBE与哈希匹配相关联,因此我推断您的联接就是其中之一。

所以我的猜测是你加入了两个或多个数据类型不匹配的字段,而且这需要转换意味着你的某个表上的索引无法使用。如果没有可用的索引,查询引擎需要进行表扫描,这是一项非常昂贵的操作(特别是如果你有一个大表。)