PostgreSQL枚举类型为何占用4字节存储空间?
PostgreSQL枚举类型为何采用4字节存储?
枚举值在磁盘上占用4字节。
这一选择似乎有些奇怪。当然,枚举标签会映射为固定大小的整数以提升速度,但为何要选择4字节?
大多数情况下,枚举仅用于少数选项,1字节就足够了。
可以理解设计人员可能希望兼顾偶尔出现的大型枚举。实际应用中见过的最大枚举有多大?比如可用于国家代码,目前有249个国家,再多几个就会超出1字节的范围,因此选择2字节有其合理性。
但为何是4字节?有人使用过包含超过65536个枚举值的数据库枚举吗?PostgreSQL真的支持这么多吗?
内容的提问来源于stack exchange,提问作者rwallace
相关产品推荐
相关产品推荐

