

 Amazon Redshift 將不再支援從修補程式 198 開始建立新的 Python UDFs。現有 Python UDF 將繼續正常運作至 2026 年 6 月 30 日。如需詳細資訊，請參閱[部落格文章](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

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

# 分佈樣式
<a name="c_choosing_dist_sort"></a>

建立資料表時，您可以指定下列其中一種分佈樣式：AUTO、EVEN、KEY 或 ALL。

如果您不指定分佈樣式，Amazon Redshift 會使用 AUTO 分佈。

 **AUTO 分佈** 

使用 AUTO 分佈時，Amazon Redshift 會根據資料表資料的大小來指派最佳分佈樣式。例如，如果指定 AUTO 分佈樣式，Amazon Redshift 一開始會將 ALL 分佈樣式指派給小型資料表。當資料表變大時，Amazon Redshift 可能會將分佈樣式變更為 KEY，並選擇主索引鍵 (或複合主鍵的資料欄) 作為分佈索引鍵。如果資料表變大，並且沒有任何資料欄適合作為分佈索引鍵，則 Amazon Redshift 會將分佈樣式變更為 EVEN。分佈樣式的變更會發生在背景中，對使用者查詢的影響最小。

若要檢視 Amazon Redshift 自動執行的動作來修改資料表分佈索引鍵，請參閱 [SVL\$1AUTO\$1WORKER\$1ACTION](r_SVL_AUTO_WORKER_ACTION.md)。若要檢視有關修改資料表分佈索引鍵的目前建議，請參閱 [SVV\$1ALTER\$1TABLE\$1RECOMMENDATIONS](r_SVV_ALTER_TABLE_RECOMMENDATIONS.md)。

若要檢視套用至資料表的分佈樣式，請查詢 PG\$1CLASS\$1INFO 系統目錄檢視。如需詳細資訊，請參閱[檢視分佈樣式](viewing-distribution-styles.md)。如果您沒有以 CREATE TABLE 陳述式指定分佈樣式，Amazon Redshift 會套用 AUTO 分佈。

 **EVEN 分佈** 

 領導者節點會以循環模式在配量之間分佈資料列，而不考慮任何特定資料欄的值。當資料表不參與聯結時，EVEN 分佈是適當做法。當 KEY 分佈和 ALL 分佈之間沒有明確的選擇時，這也是合適的。

 **KEY 分佈** 

 資料列根據一個欄的值來分佈。領導節點會將相符的值放在相同的節點配量。如果您根據聯結索引鍵來分佈一對資料表，領導者節點會根據聯結欄的值將資料列共置在配量。這樣，來自共同資料欄的比對值會實際儲存在一起。

 **ALL 分佈** 

 整個資料表的副本分佈至每個節點。EVEN 分佈或 KEY 分佈只會將資料表的一部分資料列放在每個節點上，而 ALL 分佈可確保資料表參與的每個聯絡都共置每個資料列。

 ALL 分佈會增加叢集中節點數所需的儲存空間，因此需要更多時間來載入資料、更新資料，或將資料插入至多個資料表。ALL 分佈僅適用於移動速度相當緩慢的資料表，亦即，不經常或廣泛更新的資料表。因為在查詢期間重新分配小型資料表的成本很低，所以將小型維度資料表定義為 DISTSTYLE ALL 沒有顯著的優勢。

**注意**  
 指定資料欄的分佈樣式之後，Amazon Redshift 就會在叢集層級上處理資料分佈。Amazon Redshift 不需要或不支援在資料庫物件內分割資料的概念。您不需要建立資料表空間或定義資料表的分割方案。

在某些情況下，您可以在建立資料表的分佈樣式之後，變更該分佈樣式。如需詳細資訊，請參閱[ALTER TABLE](r_ALTER_TABLE.md)。對於建立資料表分佈樣式之後無法加以變更的情況，您可以重新建立資料表，並以深層複製填入新資料表。如需詳細資訊，請參閱[執行深層複製](performing-a-deep-copy.md)