sql - 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 分钟让它执行,但它仍在加载并最终超时。
有没有办法加快这个查询?
解决方案
在两个表(尤其是 t2)上为 titleId 添加索引是获得更好性能的最快方法。200K 记录对于 SQL Server 来说不算什么。
推荐阅读
- c# - ASP.NET C# 中是否共享变量?
- naming - 如何在 blob url 上设置下载文件名 html2pdf.js
- xamarin.forms - 生成已取消,因为另一个 Xamarin 操作正在运行。请稍后再试
- git - 如何在未发布的伪版本中使用 Go Mod 下载
- react-native - 如何在我的样式表创建中使用 useTheme 挂钩?
- sonarlint - 可以关闭 sonarlint 消息的描述部分吗?
- git - VS 代码 git 源代码控制错误 git rev-parse --git-dir
- ubuntu - 在 AD 域控制下添加 Ubuntu 后,域 AD 用户不会被发现
- python - 龙卷风事件未触发的 Matplotlib Webagg
- laravel - laravel 购物车在数据库中产品信息发生变化时更新