讓 COPY 選擇壓縮編碼 - Amazon Redshift

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

讓 COPY 選擇壓縮編碼

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

編碼自動是表的默認設置。Amazon Redshift 會自動管理表中所有列的壓縮編碼。如果為表中的任何列指定壓縮編碼,則表不再設置為 ENCODE AUTO。Amazon Redshift 不再自動管理表中所有列的壓縮編碼。您可以為表指定 ENCODE AUTO 選項,以使 Amazon Redshift 能夠自動管理表中所有列的壓縮編碼。如需詳細資訊,請參閱 CREATE TABLEALTER TABLE

COPY 命令會在進行載入操作時,自動分析您的資料並將壓縮編碼套用至空資料表。

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

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

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

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