首页 > 解决方案 > SQL - LEFT JOIN 执行时间极长

问题描述

我正在尝试查看表 A 中是否有我在表 B 中遗漏的行。

为此,我使用以下查询:

SELECT t1.cusa
FROM patch t1
LEFT JOIN trophy t2
ON t2.titleid = t1.titleid
WHERE t2.titleid IS NULL

查询以前有效,但现在trophy表有近 200.000 行,它非常慢。我已经等了 5 分钟让它执行,但它仍在加载并最终超时。

有没有办法加快这个查询?

标签: sqlperformanceleft-join

解决方案


在两个表(尤其是 t2)上为 titleId 添加索引是获得更好性能的最快方法。200K 记录对于 SQL Server 来说不算什么。


推荐阅读