INNER JOIN查询性能非常慢

时间:2019-06-18 14:38:20

标签: sql sql-server inner-join query-performance

我有一个如下所示的SQL查询:

SELECT * 
FROM tableB ta
INNER JOIN tableB tb ON tb.someColumn = ta.someOtherColumn

someColumnsomeOtherColumn都不是其表的主键。两者均为数据类型int

TableA有〜500.000条记录,tableB有〜250.000条记录。查询大约需要2分钟才能完成,我认为这太长了。

查询执行计划如下:

enter image description here

我已经尝试(a)使用OPTION (RECOMPILE)和(b)在相应表上创建INDEX。无济于事。

我的问题是:如何提高查询的性能?

1 个答案:

答案 0 :(得分:1)

在tb.SomeColumn上创建索引,并在ta.SomeOtherColumn上创建另一个索引。

然后,当您运行此查询时,哈希匹配项应替换为内部循环,并且速度更快。