簡體   English   中英

Redshift - 使用排序鍵會使表大小增加一倍?

[英]Redshift - Using sort key is doubling the table size?

所以我正在嘗試優化一些表,奇怪的是我發現一個以前從未定義過任何排序鍵的表,表大小(以 MB 為單位的塊)為 720。當我嘗試定義排序鍵時,或者復合排序鍵,表大小實際上翻了一番,達到 1440。我嘗試與不同的分布 styles 結合使用,但這不會改變表大小。 我還運行了 ANALYZE COMPRESSION,但沒有什么可以改進的。

那么這個案子我該怎么辦呢? 我需要表有一個排序鍵,因為它們用於很多連接,但是表大小加倍並不理想。 我嘗試在谷歌上搜索這個特定問題,但似乎沒有關於這個問題的任何內容

編輯:我不嘗試在現有表上實現這一點,而是創建了一個像當前表一樣的新表,然后我插入了所有數據。 可以肯定的是,我在新表上運行了統計信息和真空。

您的桌子大小由最小桌子大小決定。 有關更多信息,請參閱此支持文檔: 為什么我的 Amazon Redshift 集群中的表消耗的磁盤存儲空間比預期的要多?

對於使用 KEY 或 EVEN 分布樣式創建的表:最小表大小 = block_size (1 MB) * (number_of_user_columns + 3 system columns) * number_of_populated_slices * number_of_table_segments

當您有排序鍵時,最小表大小會增加,因為 Redshift 會為要添加到表中的未排序的新數據分配額外空間。

如果 Amazon Redshift 表具有排序鍵,則該表有兩個段 - 一個已排序的段和一個未排序的段。 如果 Amazon Redshift 表沒有排序鍵,則所有數據都未排序,因此該表有一個未排序的段。

當使用排序鍵將數據添加到現有表時,新數據將保留在包含未排序數據的單獨段中 - 在執行 VACUUM 操作之前,數據不會插入到原始排序鍵段中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM