Varchar

Redshift 中 varchar 長度的儲存大小

  • September 26, 2015

varchar因此,如果長度小於 255,許多數據庫會將欄位的長度前綴儲存在 1 個字節中,如果長度超過 255 個字節,則將其儲存在 2 個字節中。例如,MySQL 文件說:

與 CHAR 相比,VARCHAR 值儲存為 1 字節或 2 字節長度前綴加上數據。長度前綴表示值中的字節數。如果值需要不超過 255 個字節,則一列使用一個長度字節,如果值可能需要超過 255 個字節,則使用兩個長度字節。

我想知道Redshift是否也是如此?我已經搜尋了文件,但我一生都找不到它!

順便說一句,我問這個問題是因為一位同事為大多數欄位建構了我們的整個數據倉庫varchar(256)- 短欄位長度的所有限制,沒有 1 字節長度儲存的好處(除非 Redshift 無論如何都使用 2 字節)。

根據this page Redshift varchars使用“4字節+字元總字節……”。由於列被壓縮,varchar 儲存的大小可能是 Redshift 的一個小得多的問題。

引用自:https://dba.stackexchange.com/questions/99361