2013-04-04 79 views
-1

嵌套循環連接與工作\僞代碼的不同之處是什麼,以及使用嵌套循環連接而不是內部連接的建議。嵌套循環連接與Inner連接不同?

+4

對不起,我們不能做你的功課。 – 2013-04-04 13:18:38

+0

內部連接是一個邏輯運算符,嵌套循環是一個物理運算符,所以根據輸入執行內部連接時可能會使用嵌套循環連接。 「嵌套循環運算符執行內連接,左外連接,左半連接和左反半連接邏輯操作。」從http://msdn.microsoft.com/en-gb/library/ms187871(v=sql.100).aspx – steoleary 2013-04-04 13:25:18

回答

3

它不是「而不是」 - 一個邏輯INNER JOIN可在多個被處理物理方式 - 嵌套循環,哈希和合並。

嵌套循環連接通常被選擇時的連接一側相對較小。想想加入一個Customers表到Orders表 - 理想客戶將已放置了大量的訂單,所以嵌套循環連接將工作(概念)的方式,如果不平衡是足夠高,就在於它與第一次啓動客戶,收集他們的訂單,然後轉移到下一個客戶,收集他們的訂單等。實際上,優化器將在計劃編制時決定哪個物理操作最有意義,並且基於多種因素來做到這一點,如兩個表,統計,硬件資源的基數,等等,等等

(我將簡要指出合併連接像拉鍊作品,哈希聯接的作品就像一組桶。但你可以請在其他地方閱讀以獲得更多詳細信息。)

Understanding Nested Loop Joins

Understanding Merge Joins

Understanding Hash Joins

下一次,請搜索這些概念,並提出了編程幫助時,你必須執行這些或理解爲什麼特定的連接選擇在特定的方法中的實際問題案件。這不是圖書館。 :-)

+0

句子「邏輯INNER JOIN可以在多個物理方式處理,」使我不再懷疑!感謝您對未來的詳細回答和建議! – jaczjill 2013-04-04 17:04:28