小编W v*_*Rij的帖子

SQL Server“修复”哈希匹配查询而不是嵌套循环

目前我有一个运行非常缓慢的视图。执行大约需要 3 分钟。这突然发生了。

为了调试发生了什么,我使用了一个旧数据集并比较了两个查询。在旧数据集上,视图会在一秒钟内返回数据。

我注意到一个区别:当前数据集在“嵌套循环”上运行,而我的旧数据集使用哈希匹配运行。

你可以在图片中看到:

示例数据集 1(当前)与 2(旧)

我知道你不能像我在其他主题中看到的那样“强制”它使用哈希匹配,但我很难找出为什么它会使用嵌套循环。

这是因为我的数据集中的某些内容不是唯一的吗?

如何修复我当前的数据集以再次开始使用此哈希匹配?

performance sql-server query-performance

3
推荐指数
1
解决办法
4824
查看次数