SELECT p.ID, Name
FROM Policies p
INNER JOIN ProgramYears py ON p.ProgramYearID = py.id
INNER JOIN (SELECT MemberID, max(EffectiveDate) AS EffectiveDate
FROM Policies
GROUP BY MemberID) TEMP
ON p.memberid = TEMP.MemberID
AND p.EffectiveDate = TEMP.effectivedate
AND p.memberid NOT IN (SELECT MemberID
FROM InvoiceDetail
WHERE ProgramYear = NAME)
1
A
回答
1
NOT EXISTS
通常是NOT IN
一個更好的替代品,但你的選擇在很大程度上取決於數據和表和索引的結構。
請嘗試下面的查詢,但將其執行計劃與當前查詢的執行計劃進行比較;一種情況適用的可能不適用於另一種情況。
SELECT p.ID, Name
FROM Policies p
INNER JOIN ProgramYears py ON p.ProgramYearID = py.id
INNER JOIN (SELECT MemberID, max(EffectiveDate) AS EffectiveDate
FROM Policies
GROUP BY MemberID) TEMP
ON p.memberid = TEMP.MemberID
AND p.EffectiveDate = TEMP.effectivedate
WHERE NOT EXISTS
(SELECT MemberID
FROM InvoiceDetail AS ID
WHERE ID.ProgramYear = NAME
AND p.MemberId = ID.MemberId)
+0
謝謝先生。我的問題已解決。不存在已將執行時間從9秒減少到3-4秒。 – Brijesh
0
你可以試試:
SELECT a.ID, a.Name
FROM (SELECT p.ID, Name,
ROW_NUMBER()OVER(PARTITION BY p.memberid ORDER BY p.EffectiveDate DESC) AS rnk
FROM Policies p
INNER JOIN ProgramYears py ON p.ProgramYearID = py.id
WHERE NOT EXISTS (SELECT MemberID
FROM InvoiceDetail AS ID
WHERE ID.ProgramYear = NAME
AND p.MemberId = ID.MemberId)
) a
WHERE a.rnk = 1
相關問題
- 1. 任何人都可以幫助我優化我的代碼嗎?
- 2. 任何人都可以幫助我進行sp優化嗎?
- 3. 任何人都可以幫助我嗎?
- 4. 任何人都可以幫助我提高查詢效率嗎?
- 5. jQuery - 任何人都可以幫助我......?
- 6. 任何人都可以幫我選擇查詢的語法嗎?
- 7. 任何人都可以請幫我理解這個查詢嗎?
- 8. 任何人都可以幫我編寫LINQ查詢嗎?
- 9. 任何人都可以使用以下JScript幫助我嗎?
- 10. 任何人都可以幫助我將這個MSSQL查詢轉換爲ORACLE嗎?
- 11. 任何人都可以幫助解釋「get:function()」和.prototype給我嗎?
- 12. 任何人都可以幫助我找到Microsoft.VisualStudio.SourceSafe.Interop .dll嗎?
- 13. 任何人都可以幫助我在小牛隊打valgrind嗎?
- 14. 任何人都可以幫助我使用C++類嗎?
- 15. 任何人都可以幫助我這個宏嗎?
- 16. 任何人都可以幫助我理解這段代碼嗎?
- 17. 任何人都可以幫助我確定算法嗎?
- 18. 任何人都可以幫助我們與omnet ++集成嗎?
- 19. 任何人都可以幫助我解決這個問題嗎?
- 20. 任何人都可以幫助我創建Jmeter框架嗎?
- 21. 任何人都可以用vector和class來幫助我嗎?
- 22. 任何人都可以在c中幫助我嗎?
- 23. 任何人都可以幫助我使用RDF/OWL可視化工具嗎?
- 24. 任何人都可以幫助我優化這個循環使用SSE?
- 25. 任何人都可以幫助我調試我的程序
- 26. 任何人都可以幫助我解決我的JavaScript代碼?
- 27. 任何人都可以幫助我調試我的錯誤
- 28. 任何人都可以幫助我簡化正則表達式嗎?
- 29. 任何人都可以幫助我理解我的程序的線程嗎?
- 30. 任何人都可以幫我用我的C代碼嗎?
它有什麼問題嗎? – Magnus
它抽空時間.. 如果我執行該部分 SELECT p.ID,名稱 FROM政策p INNER JOIN ProgramYears PY ON p.ProgramYearID = py.id INNER JOIN( SELECT MEMBERID ,最大值(EFFECTIVEDATE) AS EffectiveDate FROM Policies GROUP BY MemberID )TEMP ON p.memberid = TEMP.MemberID AND p.EffectiveDate = TEMP.effectivedate 它需要毫秒。執行,但之後,如果我執行整個查詢需要9-10秒執行。 所以我想優化它。 – Brijesh
您在指定的表格中有多少條記錄? –