讓我們COPY選擇壓縮編碼 - Amazon Redshift

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

讓我們COPY選擇壓縮編碼

當您建立資料表時,可指定壓縮編碼,但在大多數情況下,自動壓縮可產生最佳結果。

ENCODEAUTO是表格的預設值。當資料表設定為時 ENCODEAUTO,Amazon Redshift 會自動管理表格中所有欄的壓縮編碼。如需詳細資訊,請參閱 CREATE TABLEALTER TABLE

此指COPY令會分析您的資料,並將壓縮編碼自動套用至空白資料表,做為載入作業的一部分。

選擇壓縮編碼時,自動壓縮會平衡整體效能。如果排序索引鍵欄位的壓縮比相同查詢中的其他欄位高出許多,限制範圍的掃描執行效果可能較差。因此,自動壓縮會選擇效率較低的壓縮編碼,以維持排序索引鍵欄位與其他欄位之間的平衡。

假設您資料表的排序索引鍵為日期或時間戳記,而且該資料表使用許多大型 varchar 欄位。在此情況下,如果不壓縮排序索引鍵欄位,您可能會獲得較高的效能。在資料表上執行 ANALYZE COMPRESSION 命令,然後使用編碼以建立新資料表,但省略排序索引鍵的壓縮編碼。

自動壓縮編碼有效能上的成本,但僅限於資料表是空的,而且尚未有壓縮編碼的情況。對於經常建立的短期資料表和資料表 (例如臨時資料表),請使用自動壓縮載入資料表一次,或執行命ANALYZECOMPRESSION令。然後,使用這些編碼建立新資料表。您可以將編碼加入CREATETABLE陳述式中,或使用CREATETABLELIKE以相同編碼建立新資料表。

如需詳細資訊,請參閱利用自動壓縮載入資料表