[英]inner join vs left join - which is faster for the same result?
如果內部聯接和左聯接都能達到相同的結果,那么哪一個速度更快並且具有更好的性能(尤其是在大數據上)?
內部聯接:
SELECT *
FROM Table_A A
INNER JOIN Table_B B
ON A.PK_A = B.PK_B
左聯接:
SELECT *
FROM Table_A A
LEFT JOIN Table_B B
ON A.PK_A = B.PK_B
WHERE A.PK_A = B.PK_B
表A:
PK_A User
1 FOX
2 COP
3 TAXI
6 WASHINGTON
7 DELL
5 ARIZONA
4 LINCOLN
10 LUCENT
Table_B:
PK_B Message
1 TROT
2 CAR
3 CAB
6 MONUMENT
7 PC
8 MICROSOFT
9 APPLE
11 SCOTCH
有任何想法嗎? 如何測試它們在大數據上的性能?
左聯接和內聯接解決了不同的目的。 您可以通過執行執行計划來檢查查詢的性能。 它將告訴所有查詢正在使用什么索引,正在掃描多少行等。在供應商的網站上,有一個很好的教程可用於相同的對象。
首先,內部聯接和左聯接不相同。 INNER JOIN獲取兩個表之間共有的所有記錄
LEFT JOIN從LEFT鏈接表中獲取所有記錄,但是如果您從RIGHT表中選擇了一些列,則如果沒有相關記錄,則這些列將包含NULL。
因此,顯然在性能方面,內部聯接更快。 希望它能對您有所幫助:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.