我一直在研究對一系列過程進行性能改進,最近一位同事提到他在使用INNER JOIN代替EXISTS時取得了顯着的性能改進。INNER JOIN可以提供比EXISTS更好的性能
作爲調查的一部分,爲什麼這可能是我想我會問這裏的問題。
所以:
- 能的INNER JOIN提供更好的性能比存在?
- 這會發生什麼情況?
- 我該如何設置一個測試用例作爲證明?
- 您有進一步文檔的任何有用的鏈接?
真的,任何其他的經驗,人們可以帶來這個問題。
我將不勝感激,如果任何答案可以解決這個問題,沒有任何其他可能的性能改進的建議。我們已經取得了相當程度的成功,而且我只對這一項感興趣。
任何幫助將不勝感激。
這有點偏離主題,但我會建議在返回不同的列表時避免使用DISTINCT並使用GROUP BY來獲得更好的性能。一般來說,DISTINCT的表現不如GROUP BY。它可能有助於彌補INNER JOIN和EXISTS之間的一些區別。 – EricI 2013-03-21 20:51:18
@EricI:如果輸出結果完全相同,您能否提供一個查詢的例子,該查詢與'GROUP BY'比'DISTINCT'效率低?謝謝! – Quassnoi 2013-03-22 09:54:27