

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# Amazon Redshift 查詢計畫的 EXPLAIN 聯結
<a name="explain-joins"></a>

Amazon Redshift 會使用不同的聯結運算子，根據下列項目擷取資料：
+ 正在聯結之資料表的實體設計
+ 查詢的結構
+ 聯結所需的資料位置
+ 查詢本身的特定需求

下列聯結類型常用於 Amazon Redshift：
+ **巢狀迴圈** – 當無法在兩個資料表之間建立雜湊資料表時，就會發生巢狀迴圈。巢狀迴圈主要用於跨聯結 （卡氏產品） 和一些不等式聯結。這將需要資料庫檢查左側資料表中的每個值與右側資料表中的每個值。巢狀迴圈聯結的複雜性是「二次」，您必須在其中執行大約 N\*N （或 N2) 不同的操作來處理聯結。巢狀迴圈是最不理想的聯結類型。
+ **雜湊聯結** – 在雜湊聯結中，聯結條件彼此並不完美，但 Amazon Redshift 可以使用雜湊聯結來管理 ，並有一些工作。雜湊聯結通常比巢狀迴圈聯結更快。Amazon Redshift 會查看兩個資料表，並在它們之間建立雜湊資料表，類似於位於資料表中間的查詢資料表。例如，聯結聯結資料表時，會使用雜湊聯結和雜湊運算子，其中聯結資料欄不是分佈索引鍵和排序索引鍵。
+ **合併聯結** – 合併聯結通常是最快的聯結，用於內部聯結和外部聯結。在合併聯結中，兩個資料表都非常適合彼此。這表示每一端的聯結條件都是分佈索引鍵和排序索引鍵。這兩個資料表完全對齊，無需調整。請注意，資料表中未排序的資料列應小於聯結資料表的 20%。若要檢視未排序資料列的百分比，請查詢 [SVV\_TABLE\_INFO](https://docs.aws.amazon.com/redshift/latest/dg/r_SVV_TABLE_INFO.html) 系統資料表。合併聯結不會用於完整聯結。