我有三个大表(加1万行)提高对孤立记录搜索查询速度
- BIG1拥有Bigger1ID
- 老二有Bigger1ID
- BIG3有Bigger1ID
那个持有一个ID到另一个表(加上1000万行)
- Bigger1有Biggest1ID
持有的ID到最终非常大的表(50万行)
- Biggest1
我们发现是我们正在进行的孤儿问题Biggest1表在Bigger1表中保存一条记录,但不在Big表中。 我创建了以下查询,但性能不是很好,这可能只是由于大小,但我想知道是否有更快的方法来做到这一点。 我认为使用左连接插入临时表,但我没有看到任何收益。
SELECT
Biggest.ID,
Bigger.ID
FROM
Biggest JOIN Bigger ON Biggest.BiggerID = Bigger.ID
WHERE
Biggest.MyType IN ('type1', ' type2', 'type3')
AND NOT EXISTS (SELECT * FROM Big1 WHERE Bigger1.BiggerID = Big1.Bigger1ID)
AND NOT EXISTS (SELECT * FROM Big2 WHERE Bigger1.BiggerID = Big2.Bigger1ID)
AND NOT EXISTS (SELECT * FROM Big3 WHERE Bigger1.BiggerID = Big3.Bigger1ID)
有没有更快的方法来做到这一点?
问题寻求帮助的表现,应该包括像执行计划,涉及表的架构细节和瑞普测试:HTTPS: //support.microsoft.com/en-us/help/914288/how-to-generate-a-script-of-the-necessary-database-metadata-to-create-a-statistics-only-database-in- sql-server – TheGameiswar