瞭解巢狀迴圈聯接、合併聯接
巢狀迴圈聯接
巢狀迴圈聯接也稱為“巢狀迭代”,它將一個聯接輸入用作外部輸入表(顯示為圖形執行計劃中的頂端輸入),將另一個聯接輸入用作內部(底端)輸入表。外部迴圈逐行處理外部輸入表。內部迴圈會針對每個外部行執行,在內部輸入表中搜尋匹配行。
最簡單的情況是,搜尋時掃描整個表或索引;這稱為“單純巢狀迴圈聯接”。如果搜尋時使用索引,則稱為“索引巢狀迴圈聯接”。如果將索引生成為查詢計劃的一部分(並在查詢完成後立即將索引破壞),則稱為“臨時索引巢狀迴圈聯接”。查詢優化器考慮了所有這些不同情況。
如果外部輸入較小而內部輸入較大且預先建立了索引,則巢狀迴圈聯接尤其有效。在許多小事務中(如那些隻影響較小的一組行的事務),索引巢狀迴圈聯接優於合併聯接和雜湊聯接。但在大型查詢中,巢狀迴圈聯接通常不是最佳選擇。
瞭解合併聯接
合併聯接要求兩個輸入都在合併列上排序,而合併列由聯接謂詞的等效 (ON) 子句定義。通常,查詢優化器掃描索引(如果在適當的一組列上存在索引),或在合併聯接的下面放一個排序運算子。在極少數情況下,雖然可能有多個等效子句,但只用其中一些可用的等效子句獲得合併列。
由於每個輸入都已排序,因此 Merge Join 運算子將從每個輸入獲取一行並將其進行比較。例如,對於內聯接操作,如果行相等則返回。如果行不相等,則廢棄值較小的行並從該輸入獲得另一行。這一過程將重複進行,直到處理完所有的行為止。
合併聯接操作可以是常規操作,也可以是多對多操作。多對多合併聯接使用臨時表儲存行。如果每個輸入中有重複值,則在處理其中一個輸入中的每個重複項時,另一個輸入必須重繞到重複項的開始位置。
如果存在駐留謂詞,則所有滿足合併謂詞的行都將對該駐留謂詞取值,而只返回那些滿足該駐留謂詞的行。
合併聯接本身的速度很快,但如果需要排序操作,選擇合併聯接就會非常費時。然而,如果資料量很大且能夠從現有 B 樹索引中獲得預排序的所需資料,則合併聯接通常是最快的可用聯接演算法。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-520804/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linq之左聯接
- Linq之分組聯接
- python怎麼迴圈巢狀Python巢狀
- 我和我的智慧聯接
- MySQL Join原理分析(緩衝塊巢狀與索引巢狀迴圈)MySql巢狀索引
- IDC:預測2024年全球物聯網聯接量接近650億 是手機聯接量的11.4倍
- 聯接改變世界!新華三綠洲平臺釋出共建WiFi聯接新生態WiFi
- Python的if else 巢狀 和forin while 迴圈Python巢狀While
- python 利用 for ... else 跳出雙層巢狀迴圈Python巢狀
- vue瞭解與初步接觸/使用Vue
- 星閃:咫尺之間,聯接智慧世界
- 內聯和巢狀名稱空間巢狀
- 巢狀關聯會查詢兩次巢狀
- 最佳化兩個簡單的巢狀迴圈巢狀
- python基礎語法迴圈巢狀和列表(一)Python巢狀
- python基礎語法迴圈巢狀和列表(二)Python巢狀
- java中如何將巢狀迴圈效能提高500倍Java巢狀
- while + else 使用,while死迴圈與while的巢狀,for迴圈基本使用,range關鍵字,for的迴圈補充(break、continue、else) ,for迴圈的巢狀,基本資料型別及內建方法While巢狀資料型別
- 巢狀類遞迴巢狀遞迴
- 今日資料行業日報(2020.12.31)『預測2024年全球物聯網聯接量接近650億 是手機聯接量的11.4倍』行業
- 高效遍歷匹配Json資料,避免巢狀迴圈[轉]JSON巢狀
- 迴圈中巢狀非同步操作的流程控制巢狀非同步
- 遞迴元件組合拳,無懼頁面巢狀遞迴元件巢狀
- 在MySQL中管理分層資料---鄰接表模型和巢狀集模型MySql模型巢狀
- 電信聯通合併原因分析 聯通和電信合併是真的嗎?
- 瞭解Vert.x:事件迴圈事件
- “哥倫布”華為,與智慧聯接新大陸
- 2020全球聯接指數:量化數字經濟程式
- SQL Prompt教程:舊式聯接語法(ST001)SQL
- 從大互聯到數字化聯接 新華三領航智慧未來
- JS事件迴圈,瞭解一下?JS事件
- 塑造雲時代,華為首辦全聯接大會
- 碎片化學習Java(二十)Java for迴圈巢狀輸出指定圖案Java巢狀
- 深入瞭解nodejs的事件迴圈機制NodeJS事件
- 新華三:2020智慧聯接指數白皮書(附下載)
- 你瞭解物聯網嗎
- pandas -- DataFrame的級聯以及合併操作
- 使用 flatMap() 將巢狀的列表合併成一個新的列表巢狀
- 記錄一次 postgresql 最佳化案例( 巢狀迴圈改HASH JOIN )SQL巢狀