我有三個大表(加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