我是一张不断增长的牌桌(一年约2000万行)。
该表格的status
列为enum
,其中包含10个州:
ENQUEUED, DELIVERED, FAILED, ...
由于Postgres enum
类型占用4个字节空间,我决定将列更改为不需要的空间,如smallint
或character(1)
或"char"
。
enum takes 4 bytes
smallint takes 2 bytes
character(1) takes 2 bytes
"char" takes 1 byte
我想将"char"
与此值一起使用:
E, D, F, ...
因为"char"
占用的空间少于smallint
或character(1)
最好使用"char"
作为enum
的空间替代品吗?
任何想法都会非常感激。