目前我有一个运行非常缓慢的视图。执行大约需要 3 分钟。这突然发生了。
为了调试发生了什么,我使用了一个旧数据集并比较了两个查询。在旧数据集上,视图会在一秒钟内返回数据。
我注意到一个区别:当前数据集在“嵌套循环”上运行,而我的旧数据集使用哈希匹配运行。
你可以在图片中看到:
我知道你不能像我在其他主题中看到的那样“强制”它使用哈希匹配,但我很难找出为什么它会使用嵌套循环。
这是因为我的数据集中的某些内容不是唯一的吗?
如何修复我当前的数据集以再次开始使用此哈希匹配?
performance sql-server query-performance
performance ×1
query-performance ×1
sql-server ×1